在我的表單中我有一個包含可檢查QListWidgetItems一個QListWidget。我正在尋找一種方法來捕獲QListWidgetItem被選中/取消選中的事件。我沒有看到任何這樣的信號存在,但也許我錯了。什麼我目前做的是使用QListWidget :: itemClicked()信號和檢查QListWidgetItem的checkState,但這不是我想要的,因爲這種事件發生的項目被點擊任何時候,不要只是去對號翻轉。任何人都可以提供幫助嗎?謝謝!Qt/C++:檢查QListWidgetItem時的信號?
14
A
回答
18
顯然沒有提供這樣的信號,您最好的選擇是使用QListWidget::itemChanged(QListWidgetItem* item)
,並掃描結果item->checkState()
。這應該是略微改進itemClicked
0
一個額外的選項是使用自己的QAbstractListModel
與QListView
。起初,這不會添加一些額外的代碼,因爲您需要添加自己的管理代碼。但是你的訪問權限較低。基本上,因爲QListView
會問你的模型做什麼。它也將中繼輸入回到您的listmodel,您可以在其中掛鉤。
或者你可以繼承QStandardItemModel
,趕上與改變的複選框一定的修改。
相關問題
- 1. itemDoubleClicked信號爲QListWidgetItem的子類
- 2. 檢查GPS信號
- 3. 檢查哪個信號是信號的呼叫者
- 4. 檢查信用卡號碼的驗證
- 5. 信號檢測當信號不存在時噪聲的方差
- 6. 實時檢測信號中的波形
- 7. 斷言來檢查時鐘邊界的信號轉換
- 8. 如何轉換檢查號碼以檢查信件和號碼的SPSS宏?
- 9. 用手機檢查網絡信號
- 10. 檢查GPS是否接收信號
- 11. Systemverilog assertion來檢查壞信號轉換
- 12. 互聯網回來檢查信號
- 13. pygtk3檢查信號是否存在
- 14. 檢查信用卡號碼是否有效時發出警告
- 15. 如何在發出commandFinished()信號時檢查狀態
- 16. 檢查信號是否處於由另一個信號給出的極限
- 17. 突出了QListWidgetItem
- 18. 自定義QListWidgetItem
- 19. Qt QListWidgetItem多行
- 20. 拖放子類QListWidgetItem
- 21. 使用Android檢測信號
- 22. sigtimedwait和檢測信號
- 23. Python的 - 如何從QListWidgetItem
- 24. glibmm超時信號
- 25. 採樣輸入信號並檢查它們的值VHDL
- 26. 如何檢查c中的信號狀態?
- 27. C++中的多線程,只檢查信號量是否鎖定
- 28. 如何使用Matlab檢查視頻中的音頻信號
- 29. 檢查備用信號堆棧(不同的分配方式)
- 30. 檢查已安裝的信號處理程序
我想我可以使用QListWidget :: itemChanged()信號,這是當我檢查/取消選中的項觸發解決這個搞定了,不過這也將是,如果我編輯的項目其價值,雖然我觸發現在不做,仍然是一個不完美的解決方案。 – Joseph 2010-11-23 05:30:59
用`QListWidget :: itemClicked()的另一個問題是',當你使用鍵盤,e.g使用空格鍵來改變選中狀態不火。 – Hossein 2013-03-22 11:30:05