2
我創建了一個QListWidget,我想讓它的元素僅在應用程序中的特定位置可檢查(我需要它爲一個特定的應用程序,用戶在列表中選擇一個主要元素,然後單擊它,然後選中次要元素,同時檢查它們的框)。 林確定與製造元素可檢查的,但我不能找到一個解決方案,以撤消此並刪除複選框...我這樣做:撤消一個setFlags ItemIsUserCheckable
for i in range(self.listWidget.count()):
item=self.listWidget.item(i)
item.setFlags(QtCore.Qt.ItemIsUserCheckable | QtCore.Qt.ItemIsEnabled)
item.setCheckState(QtCore.Qt.Unchecked)
但後來我掙扎......我想:
tmp=self.listWidget.takeItem(i)
self.listWidget.addItem(tmp)
但該項目回來與它的複選框:( 我可以簡單地摧毀項目,然後再次把它但是這可能是一種沉重的治療!請問有什麼解決辦法嗎?
謝謝!
非常感謝!它部分工作。它使我的項目無法檢查,但我仍然顯示在我的QListWidget中的複選框(這可能會讓用戶感到困惑)。你有解決方案來刪除它嗎? – Jdawleer 2013-04-08 12:03:39
已更新我的回答,以顯示一種隱藏複選框的方法(它實際上是一種刪除而不是隱藏功能,隱藏功能不存在,無需自行創建並自行完成。) – Viv 2013-04-09 22:11:25
@Viv我知道我遲到了這個問題,但是'.setFlags'是什麼? – Hiatus 2014-08-30 22:23:45