雖然有 QListWidget/QListWidget與QListBox,但在Qt Designer都找不到如何產生SubItem的方法。
所以採用QTreeWidget達到類似的效果。速記一下會用到的東西。
- 使用的 Tree Widget 在Qt Designer是長這樣。
- Columns 定義欄位名稱。
- Item定義樹狀內容。
- 紅色框框部分就是剛剛用Qt Designer做出來的結果。
- 取回目前所點選的 row/col(假設 mapping 到 activated 這事件)
void ContentsDialog::on_ContentsTree_activated(QModelIndex index) { int row = index.row(); int col = index.column(); qDebug()<< row << col; }
- 取回目前所點選的內容(須考證)
void ContentsDialog::on_ContentsTree_activated(QModelIndex index) { QString str = index.data(index.row()).toString(); }
【參考】
- Qt4 Gossip: QTreeWidget 與 QTreeWidgetItem
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QTreeWidgetQTreeWidgetItem.html - Qt4 Gossip: QListWidget 與 QListWidgetItem
http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QListWidgetQListWidgetItem.html - 在Qt4中使用QPersistentModelIndex传递QModelIndex
http://www.qtchina.net/?q=node/445 - Qt Model/View 学习笔记 (六)
http://www.cppblog.com/yuanyajie/archive/2007/06/19/26622.html - Qt学习之路(47): 自定义Model之三 (转载)
http://www.yafeilinux.com/?p=236 - QTableView - get data of selected item
http://www.qtforum.org/article/14612/qtableview-get-data-of-selected-item.html