QTreeView
2012-11-14 14:29
316 查看
这篇文章讲述如何实现如下的一个treeView.
![](http://images.cnblogs.com/cnblogs_com/sld666666/201102/201102151423189945.png)
首先设置treeView的外框, 大小, model等
然后把数据填充到item中
第三步设置treeview 能够被多选
第三步设置右键选择菜单
本文来源:http://www.cnblogs.com/sld666666/archive/2011/02/15/1955179.html
![](http://images.cnblogs.com/cnblogs_com/sld666666/201102/201102151423189945.png)
首先设置treeView的外框, 大小, model等
1 QStandardItemModel *goodsModel = new QStandardItemModel(0, 4,this); 2 3 ui.treeView_->setColumnWidth(0,50); 4 ui.treeView_->setColumnWidth(1,200); 5 ui.treeView_->setColumnWidth(2,200); 6 ui.treeView_->setColumnWidth(3,200); 7 goodsModel->setHeaderData(0, Qt::Horizontal, tr("No")); 8 goodsModel->setHeaderData(1, Qt::Horizontal, tr("name")); 9 goodsModel->setHeaderData(2, Qt::Horizontal, tr("value1")); 10 goodsModel->setHeaderData(3, Qt::Horizontal, tr("value2")); 11 12 ui.treeView_->setModel(goodsModel);
然后把数据填充到item中
1 for (int i = 0; i < 4; ++i) 2 { 3 4 QList<QStandardItem *> items; 5 for (int i = 0; i < 3; ++i) 6 { 7 QStandardItem *item = new QStandardItem(QString("item %0").arg(i)); 8 9 if (0 == i) 10 item->setCheckable(true); 11 items.push_back(item); 12 } 13 goodsModel->appendRow(items); 14 15 for (int i = 0; i < 4; ++i) 16 { 17 QList<QStandardItem *> childItems; 18 for (int i = 0; i < 3; ++i) 19 { 20 QStandardItem *item = new QStandardItem(QString("%0").arg(i)); 21 if (0 == i) 22 item->setCheckable(true); 23 24 childItems.push_back(item); 25 } 26 items.at(0)->appendRow(childItems); 27 } 28 29 }
第三步设置treeview 能够被多选
1 ui.treeView_->setSelectionMode(QAbstractItemView::ExtendedSelection);
第三步设置右键选择菜单
1 void TreeView::contextMenuEvent(QContextMenuEvent *event) 2 { 3 QMenu *pMenu = new QMenu(ui.treeView_); 4 QAction* buildItem = pMenu->addAction(tr("build")); 5 pMenu->exec(QCursor::pos()); 6 }
本文来源:http://www.cnblogs.com/sld666666/archive/2011/02/15/1955179.html
相关文章推荐
- QTreeView的Item添加QProgressBar
- QTreeView 使用 QStandardItemModel
- QTreeView控件判断鼠标点击是否选中叶子节点
- QTreeView处理大量数据
- QStandardItemModel角色控制及QTreeView加入不同的右键菜单
- QTreeView 按下*键后死机
- QTreeView处理大量数据(使用1000万条数据,每次都只是部分刷新)
- QTreeView model/View
- Qt中使用QDirModel / QFileSystemModel + QTreeView显示Checkbox复选框
- 自定义QTreeView中的条目编辑器
- 实例加深理解QT中树控件QTreeView开发
- 【转载】QTreeView显示xml数据
- QTreeView实现复选框
- QT 5 初学2 QTreeView范例
- QTreeView的模型的写法注意事项
- QT中对QTreeView控件节点进行重命名操作
- QTreeView,QTableWidget表头上字,如何左对齐
- QTreeView对象如何设置行高(Row Height)?
- QT 生成带checkbox的QTreeView
- 散分了 关于QTreeView的拖拽问题