【Qt】Tree Widget


雖然有 QListWidget/QListWidget與QListBox,但在Qt Designer都找不到如何產生SubItem的方法。
所以採用QTreeWidget達到類似的效果。速記一下會用到的東西。

  1. 使用的 Tree Widget 在Qt Designer是長這樣。
    image
  2. Columns 定義欄位名稱。
    image
  3. Item定義樹狀內容。
    image
  4. 紅色框框部分就是剛剛用Qt Designer做出來的結果。
    image
  5. 取回目前所點選的 row/col(假設 mapping 到 activated 這事件)
    void ContentsDialog::on_ContentsTree_activated(QModelIndex index)
    {
      int row = index.row();
      int col = index.column();
      qDebug()<< row << col;
    }
  6. 取回目前所點選的內容(須考證)
    void ContentsDialog::on_ContentsTree_activated(QModelIndex index)
    {
      QString str = index.data(index.row()).toString();
    }

【參考】

  1. Qt4 Gossip: QTreeWidget 與 QTreeWidgetItem
    http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QTreeWidgetQTreeWidgetItem.html
  2. Qt4 Gossip: QListWidget 與 QListWidgetItem
    http://caterpillar.onlyfun.net/Gossip/Qt4Gossip/QListWidgetQListWidgetItem.html
  3. 在Qt4中使用QPersistentModelIndex传递QModelIndex
    http://www.qtchina.net/?q=node/445
  4. Qt Model/View 学习笔记 (六)
    http://www.cppblog.com/yuanyajie/archive/2007/06/19/26622.html
  5. Qt学习之路(47): 自定义Model之三 (转载)
    http://www.yafeilinux.com/?p=236
  6. QTableView - get data of selected item
    http://www.qtforum.org/article/14612/qtableview-get-data-of-selected-item.html
 

Ed32. Copyright 2008 All Rights Reserved Revolution Two Church theme by Brian Gardner Converted into Blogger Template by Bloganol dot com