Skip to content

Commit b37deec

Browse files
fix: 使用更规范的方式删除qt控件
1 parent 4abad98 commit b37deec

7 files changed

Lines changed: 1 addition & 12 deletions

File tree

app/common/notification/notification_service.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -733,7 +733,6 @@ def update_content(self, student_labels, settings=None):
733733
item = self.content_layout.takeAt(0)
734734
widget = item.widget()
735735
if widget:
736-
widget.setParent(None) # 重要:先设置父控件为None
737736
widget.deleteLater()
738737

739738
# 添加新内容

app/page_building/main_window_page.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ def clear_content(self):
4646
item = self.inner_layout_personal.takeAt(0)
4747
if item and item.widget():
4848
widget = item.widget()
49-
widget.setParent(None)
5049
widget.deleteLater()
5150
self.content_created = False
5251
self.contentWidget = None
@@ -84,7 +83,6 @@ def clear_content(self):
8483
item = self.inner_layout_personal.takeAt(0)
8584
if item and item.widget():
8685
widget = item.widget()
87-
widget.setParent(None)
8886
widget.deleteLater()
8987
self.content_created = False
9088
self.contentWidget = None

app/page_building/page_template.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -493,10 +493,6 @@ def _unload_page(self, page_name: str):
493493
inner_layout = info.get("layout")
494494

495495
if widget and inner_layout:
496-
# 从布局中移除
497-
inner_layout.removeWidget(widget)
498-
# 安全删除widget
499-
widget.setParent(None)
500496
widget.deleteLater()
501497

502498
# 清除引用

app/page_building/window_template.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -132,8 +132,7 @@ def initWindow(self, title: str, width: int = 700, height: int = 500) -> None:
132132
old_label = child
133133
old_parent = old_label.parent()
134134

135-
# 移除父控件并删除
136-
old_label.setParent(None)
135+
# 删除控件
137136
old_label.deleteLater()
138137

139138
# 创建新的BodyLabel

app/view/another_window/remaining_list.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -490,7 +490,6 @@ def _clear_cards(self) -> None:
490490
for card in self.cards:
491491
try:
492492
card.hide()
493-
card.setParent(None)
494493
card.deleteLater()
495494
except Exception:
496495
pass

app/view/floating_window/levitation.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,6 @@ def _build_ui(self):
334334
item = lay.takeAt(0)
335335
w = item.widget()
336336
if w:
337-
w.setParent(None)
338337
w.deleteLater()
339338
lay.deleteLater()
340339
if not self._layout:

app/view/settings/settings.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -522,7 +522,6 @@ def _unload_settings_page(self, page_name: str):
522522
container.layout().removeWidget(real_page)
523523

524524
# 安全删除widget
525-
real_page.setParent(None)
526525
real_page.deleteLater()
527526

528527
# 重新添加工厂以便下次访问时可以重新创建

0 commit comments

Comments
 (0)