我想將附加數據與插入到表中的每個QTableWidgetItem關聯起來,以便將來使用這些數據,當它在表項上單擊時。但是這些數據不應該是可見的。我怎樣才能做到這一點?Qt - 如何將數據與QTableWidgetItem關聯?
回答
您可以使用QTableWidgetItem::setData()
像這樣:
setData(Qt::UserRole, myData); // set
凡myData
是支持QVariant類型。您可以使用QTableWidgetItem::data()
來檢索您存儲的值。
如果您需要一個以上,您可以使用Qt::UserRole
+ 1,+ 2等(Qt::UserRole
是「可用於特定應用目的的第一個角色」,您可以閱讀有關其他類型的更多信息角色here)。
如果您存儲的是QVariant本機不支持的自定義類型,則需要使用Qt元對象系統註冊您的類型。看看QMetaType瞭解更多細節。
如果你想存儲一個整數,例如:
QTableWidgetItem* widgetItem = tableWidget->item(row, col); // get the item at row, col
int myInteger = 42;
widgetItem->setData(Qt::UserRole, myInteger);
// ...
myInteger = widgetItem->data(Qt::UserRole);
你可以從你的QTableItem派生,並提供自己的數據成員,或者您可以使用QTableView中與自己的模型。
從我的經驗來看,這比setData數據Qt函數更靈活 – drahnr 2010-04-06 06:14:24
是的,但是對於初學者來說,richard的答案可能更容易 - 或者如果您只是試圖翻譯一些MFC代碼 – 2010-04-06 14:55:54
- 1. Qt:如何在QTableWidgetItem中顯示QComboBox?
- 2. NSManagedObjectContext - 如何將childcontext數據與parentcontext數據關聯?
- 3. 如何將QTableWidgetItem放入編輯模式?
- 4. 如何將MFC DC與QPrinter關聯?
- 5. 關聯數據與多對多關聯
- 6. 如何將數據與uml類圖中的函數關聯
- 7. 將額外數據與MySQL列關聯
- 8. 如何結束編輯QTableWidgetItem
- 9. 如何將任意數據與Java中的對象關聯
- 10. 如何將自定義數據與CollectionViewGroup相關聯?
- 11. 如何將數據與UITableView中的特定行相關聯
- 12. 如何將數據庫表與ATK中的模型關聯?
- 13. 如何使用連接表將數據與對方相關聯?
- 14. 如何將數據庫記錄與對象關聯
- 15. 將數據插入關聯(?)
- 16. 核心數據 - 將數量與關係關聯
- 17. 如何處理與熊貓數據框關聯的元數據?
- 18. 將數據關聯到android聯繫人
- 19. Java - 將數據輸入與數據輸出相關聯?
- 20. 如何創建與現有數據行的關係關聯?
- 21. 如何將jAlerts與div關聯?
- 22. 如何將django項目與virtualenv關聯
- 23. 如何將此Bootstrap Javascript與link_to關聯?
- 24. 如何將事件與對象關聯?
- 25. 如何將.sh文件與Cygwin關聯?
- 26. 如何將訂單與current_user關聯?
- 27. 如何將double [,]與DataGridView關聯?
- 28. 如何將提交與分支關聯
- 29. 爲QTableWidgetItem選擇路徑文件qt
- 30. 如何使用QTableWidgetItem文本在QT翻譯語言翻譯
這是我對Qt最大的抱怨之一。在我使用它的幾個月裏,我還沒有找到一種類似於.NET中數據綁定的簡單機制。 – 2010-04-05 16:53:10
所有Qt的項目顯示類(樹,表,列表)都基於模型/視圖,很容易讓後端模型成爲您喜歡的任何東西。 LINQ沒有單擊鏈接到SQL,但它更靈活。 – 2010-04-06 14:44:32
@Martin我把它稱爲「可行」,而不是「容易」......儘管我認爲這比直接與演示文稿相關的數據要好。 – 2010-04-08 20:07:24