簡體   English   中英

在PyQt中刪除QTreeWidgetItem?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM