這裏就是我試圖讓(這是一個QTableView
部件+ MVC基於QAbstractTableModel
與多代表):HowTo使用自定義(不可編輯)委託創建模型/查看QTableView?
注:
代表不是編輯者,他們只是觀衆!我沒有用這個表格視圖編輯模型。
代表必須是可實現的。這意味着藍色行的所有總高度可以是25px或250px。
MV是簡單的數據:
1ROW:CompanyName1:NAME1,NAME2 NAME3 OTHER DATA
2ROW:CompanyName2 SingleName1 OTHER DATA
3ROW:CompanyName3 NAME1,名稱2其他數據和等等。 ..
問:
- 是否可以創建自定義委託(
QItemDelegate
或QStyleItemDelegate
),例如,像上圖中的第二列?如果可能的話,也許你可以給我一些例子或資源鏈接,我可以在哪裏看到它們。
PS。是的,我已經看過所有Qt演示與代表的例子,但我只是不明白,如何做我想要的。
PSS。 QTableView
- >setIndexWidget()
我認爲這不是一個好主意。但QTableView
- >setItemDelegateForColumn(myCustomDelegate)
方法更好!
P3S。我不尋找QTableWidget
類的解決方案...
謝謝你的答覆! :-)
更新#1:
我認爲:
代表僅用於編輯(例如,如果我們用模型工作/視圖對象)和管理類似的項目(所有/只是列/只是行)。
自定義小部件比較好,但我沒有在免費的Qt項目中見過他們。要獲得這種小部件的正確和可靠的代碼並不容易
增加:
- 這裏是link到相似性問題。
你能描述一下如何從模型中獲取數據嗎?你在使用自定義角色嗎?例如,如何獲得特定行的'CompanyName2'? – Casey
現在,我沒有這樣的解決方案。只有'QTreeWidget' +我的自定義小部件。在我的問題中,我正在尋找一個答案,其中將包含有關加入事物的信息,例如:表格視圖,模型和代表所有在一起... – mosg
@mosg如果包含完整的最小工作示例,則會更容易回答在其中你想做X.坦率地說,我發現spinbox委託例子非常有幫助和簡單。 http://qt-project.org/doc/qt-4.8/itemviews-spinboxdelegate.html。我在python中工作,所以不能用太多的細節,除了下面的答案:它實際上很容易 - 只需爲只讀模型重新實現繪圖。其餘的工作可以回到委託基類。 – neuronet