优化事件处理逻辑,解决新建事件时,点击现有事件,候选新建事件框未删除的问题

This commit is contained in:
marques
2025-09-13 17:40:36 +08:00
parent 704513e2bf
commit 746f477703

View File

@ -1112,7 +1112,7 @@ class MainWindow_SA_label(QMainWindow):
self.__set_x_and_width__(self.selected_event_rect, new_start, new_width) self.__set_x_and_width__(self.selected_event_rect, new_start, new_width)
# 未选中事件下,创建新的事件
else: else:
if self.press is not None and self.press[1] == 'empty': if self.press is not None and self.press[1] == 'empty':
x_press, side, x_rect, width = self.press x_press, side, x_rect, width = self.press
@ -1301,7 +1301,12 @@ class MainWindow_SA_label(QMainWindow):
self.canvas.draw_idle() self.canvas.draw_idle()
def __reset_rect__(self): def __reset_rect__(self):
if self.selected_event_info is not None and self.selected_event_rect is not None: if self.selected_event_info["Index"] == -1:
# 新建事件,删除
self.selected_event_rect.remove()
self.selected_event_rect = None
elif self.selected_event_info is not None and self.selected_event_rect is not None:
self.selected_event_rect.set_alpha(0.2) self.selected_event_rect.set_alpha(0.2)
x_rect, width = self.__get_x_and_width__(self.selected_event_rect) x_rect, width = self.__get_x_and_width__(self.selected_event_rect)
@ -1311,7 +1316,8 @@ class MainWindow_SA_label(QMainWindow):
self.selected_event_info["End"] self.selected_event_info["End"]
if x_rect != event_left or width != (event_right - event_left): if x_rect != event_left or width != (event_right - event_left):
self.__set_x_and_width__(self.selected_event_rect, event_left, event_right - event_left) self.__set_x_and_width__(self.selected_event_rect, event_left, event_right - event_left)
self.canvas.draw_idle()
self.canvas.draw_idle()
@overrides @overrides
def closeEvent(self, event): def closeEvent(self, event):