我有一個QFBox和QVBoxLayout,我將自己的自定義小部件添加到佈局 以模擬QListWidget,但在項目中具有更多信息/功能。我的小工具添加到佈局,並保持在一個成員變量的引用(這是蟒蛇):從QVBoxLayout中刪除自定義小部件
self.sv_widgets[purchase.id] = widget
self.vl_seatView.addWidget(widget)
後來,當我與我想從屏幕上刪除,並清理了一個參考項完成:
self.vl_seatView.removeWidget(self.sv_widgets[purchase.id])
del self.sv_widgets[purchase.id]
不幸的是,小部件仍然在屏幕上顯示!我已經檢查過了,我只是將它添加到佈局中(實際上只顯示了一個副本),嘗試在佈局上手動調用update(),但無濟於事。什麼是正確的方法來做到這一點?
這確實如果我使用工作而不是讓它被垃圾收集。爲什麼不從佈局中將其從屏幕上移除? – 2009-12-08 19:07:08
我已經用解釋和另一種實現方法更新了答案。 – ChristopheD 2009-12-08 19:25:11
優秀的,我從來不會想到我自己,謝謝。 – 2009-12-08 19:49:36