我有一個QListWidget這裏我想補充了一堆物品的使用自定義窗口小部件:無法更改可檢查QListViewItem的狀態,自定義部件
listWidget = QListWidget()
item = QListWidgetItem()
item.setFlags(item.flags() | Qt.ItemIsUserCheckable)
item.setCheckState(Qt.Unchecked)
listWidget.addItem(item)
widget = MyLabelAndPushButton()
item.setSizeHint(widget.sizeHint())
listWidget.setItemWidget(item, widget)
,顧名思義MyLabelAndPushButton只是包含一個widget QLabel和一個QPushButton。問題是我無法使用出現在小部件旁邊的listwidget中的複選框。它看起來完全正常,但是當我點擊它時沒有任何反應。如果我使用setItemWidget刪除該行,它可以正常工作。我究竟做錯了什麼?
編輯:在bugreports.qt.io/browse/QTBUG-16386
報告的bug,但得到的回答是「API是不適合你打算做什麼」和「在情況下,如果你想顯示自定義窗口小部件,使用而QListView和子QItemDelegate。 「所以顯然這不是一個錯誤,只是API無法處理的東西。
這將作爲最後的手段,但我寧願儘量避免使用這樣的解決方法。 – pafcu 2010-12-28 08:25:25