QAbstractItemView有`setIndexWidget但沒有「刪除」功能。如何從QAbstractItemView中刪除小部件
我試圖通過存儲傳遞給QAbstractItemView
和hide
/delete
他們當我想從視圖,這與RuntimeError: wrapped C/C++ object of %S has been deleted
錯誤最終將其刪除部件周圍的工作吧。我認爲是由於是傳遞到視口中的小部件的所有權,因爲醫生說:
Sets the given widget on the item at the given index, passing the ownership of the widget to the viewport.
我如何刪除部件?
我使用的是PyQt
,但我認爲它也是C++
和PySide
的有效問題。
'重置'有一些副作用,並不總是可取的。例如,我用'QTreeView'試了一下,它摺疊了所有擴展項AFAICR。 – Kos 2013-02-28 09:45:39
@Kos就像我剛纔提到的,我使用'beginResetModel'和'endResetModel',而不是'reset'。這會改變你的結果嗎? – IsaacS 2013-03-02 05:22:50
重點是模型發出什麼信號 - 視圖聽取它們並作出相應反應。信號'modelAboutToBeReset()'和'modelReset()'沒有很多信息。如果你改變(以某種方式)使模型增加'rowsAboutToBeRemoved'和'rowsRemoved',視圖可以更好地響應。 – Kos 2013-03-02 08:55:29