QT/C ++:QLISTWIDGETITEMがチェックされたときの信号?
-
27-09-2019 - |
質問
私の形には私が持っています QListWidget
チェック可能なものが含まれています QListWidgetItems
. 。イベントをキャプチャする方法を探しています QListWidgetItem
チェック/チェックされていない。このようなシグナルは存在していませんが、多分私は間違っています。私が現在していることは、使用しています QListWidget::itemClicked()
信号とチェック checkState
の QListWidgetItem
, 、しかし、これは私が望むものではありません。なぜなら、このイベントはアイテムがクリックされるときはいつでも起こり、チェックマークが切り替えられただけではないからです。誰かが助けを与えることができますか?ありがとう!
解決
どうやらそのような信号が提供されていないようです、あなたの最善の策は使用することです QListWidget::itemChanged(QListWidgetItem* item)
、および結果をスキャンします item->checkState()
. 。これは、使用をわずかに改善する必要があります itemClicked
他のヒント
追加のオプションは、あなた自身を使用することです QAbstractListModel
とともに QListView
. 。最初は、独自の管理コードを追加する必要があるため、追加のコードが追加されます。しかし、あなたはより低いレベルのアクセスを取得します。基本的に QListView
モデルに何をすべきか尋ねます。また、入力をListModelにリレーして、そこで接続できます。
または、サブクラス化することもできます QStandardItemModel
チェックボックスの変更に関連する特定の編集をキャッチします。