カスタムウィジェットを使用して一連のアイテムを追加したい QListWidget があります。
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 は、レイアウトに QLabel と QPushButton を含む単なるウィジェットです。問題は、ウィジェットの横にある listwidget に表示されるチェックボックスを使用できないことです。それは完全に正常に見えますが、クリックしても何も起こりません。setItemWidget で行を削除すると、正しく機能します。私は何を間違っていますか?
編集:
bugreports.qt.io/browse/QTBUG-16386でバグを報告しましたが、「API は意図したとおりに設計されていません」と「カスタム ウィジェットを表示する場合は、QListView とサブクラス QItemDelegate を使用してください」という返信がありました。どうやらこれはバグではなく、API が処理できないものです。