[英]Delete QTreeWidgetItem in PyQt?
我發現找到一種刪除我選擇的QTreeWidgetItem
的簡單方法令人沮喪。
我的拼湊方法涉及將樹的當前選擇設置為current
,然后:
if current.parent() is not None:
current.parent().removeChild(current)
else:
self.viewer.takeTopLevelItem(self.viewer.indexOfTopLevelItem(current))
這並不可怕,但是沒有一個命令可以直接刪除該項目嗎?
QTreeWidget
類有一個invisibleRootItem()
函數,它允許一些更簡潔的方法:
root = tree.invisibleRootItem()
for item in tree.selectedItems():
(item.parent() or root).removeChild(item)
PyQt4使用sip為Qt類生成python綁定,因此您可以通過sip python API顯式刪除C ++對象:
import sip
...
sip.delete(current)
用於PySide的綁定生成器shiboken具有類似的模塊 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.