相关文章推荐
完美的充值卡  ·  <algorithm> 函式 | ...·  1 周前    · 
悲伤的熊猫  ·  React ...·  1 周前    · 
爱旅游的红烧肉  ·  OpenCV4 ...·  6 天前    · 
淡定的冰淇淋  ·  SyntaxError: missing ...·  3 天前    · 
重感情的水桶  ·  网球正手鞭_抖抖音·  1 年前    · 
正直的铁链  ·  Pycharm process ...·  1 年前    · 

本文主要总结Qt中函数void QTreeView::expand(const QModelIndex &index)基本用法,用该函数可以展开指定树形节点。如果要展开所有节点,可以用void QTreeView::expandAll()函数。

1.1关键函数讲解

QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const Q_DECL_OVERRIDE;

该函数第一个和第二个参数是树形控件的索引项,第三个参数是表示上一级节点的索引项。如果只想展开一级节点,则不用填写第三个参数选择默认的;如果想要连续展开一级节点和二级节点,则需要用到第三个参数,用法为第三个参数挂载上一级节点的索引作为父节点。

1.2下面是具体用法代码示例

/*设置树模型*/
    treeView = new QTreeView();
    treeView->setModel(item);
    treeView->header()->hide();
    treeView->setEditTriggers(QAbstractItemView::NoEditTriggers);
    treeView->expand(item->index(0,0));
    treeView->expand(item->index(0,0,item->index(0,0)));
其中QStandardItemModel *item = new QStandardItemModel();需要自己挂载模型item的内容项。

参考内容:

https://doc.qt.io/archives/4.6/qtreeview.html#expand(参考:Qt官方文档)

本文主要总结Qt中函数void QTreeView::expand(const QModelIndex &amp;index)基本用法,用该函数可以展开指定树形节点。如果要展开所有节点,可以用void QTreeView::expandAll()函数。1.1关键函数讲解QModelIndex index(int row, int column, const QModelIndex &am... QListView与QTreeView一样,也是采取的mvc模式,添加数据时,用相应的模式 1、初始化时添加数据 QStandardItemModel *model = new QStandardItemModel(this); //可以把这行放到头文件里面 QStandardItem *item = new QStandardItem("item1"); model->appendRow(item); item = new QStandardItem("item2
//下面是初始化 treeView_enumdefine if(tree_model==NULL) {tree_model = new QStandardItemModel(ui->treeView_enumdefine);} tree_model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("enum定义")<<QStri
此类用作从 QAbstractItemModel 派生的项目模型的索引。项目视图、委托、选择模型使用索引来定位模型的项目。 模型使用 QAbstractItemModel::createIndex() 函数创建新的 QModelIndex 对象。可以使用 QModelIndex 构造函数构造无效的模型索引。在引用模型的顶级项目时,无效索引通常用作父索引。 模型索引是指模型的项目,并包含指定它们在这些模型的位置所需的所有信息。每个索引位于给定的行和列,并且可
QModelIndex有三个要素:行row 列column 父节点索引parent 但是注意我们并不能定义一个QModelIndex QModelIndex的构造函数QModelIndex()的功能是创建一个新的空的QModelIndex QModelIdex()是一个空索引,它其实可以代表任意model的顶层节点,例如TableModel每个Item的父节点都是顶层节点,所以每个Item的索引的parent都是QModelIndex;【1】 可以获得QModelIndex 的方法有两种: 1.通过M
近来在做Qt界面设计相关的项目,由于主窗体的框架是用QtQuick搭建的,所以必须从传统的C++开发转向JS风格的QML开发,QML我理解他的话就是一个JavaScript风格的描述性说明语言,至于QtQuick则相当于Qt官方为qml开发提供的一个通用强大的组件库吧,QML与QtQuick的关系相当于C++与STL吧。扯远了,说白了就是在项目的开发过程,需要构建一个提供导航功能的流程树,其所有节点默认是展开的,点击打开其子节点对应的界面。 树控件TreeView...
void DevMainWindow::indexCurTreeItem(QModelIndex index) QTableWidgetItem *tableItem = ui->tableWidget->item(index.row(), 5); qDebug() "item.text:::" tableItem->text(); itemText1
```css QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/images/treeview-vline.png) 0; QTreeView::branch:has-siblings:adjoins-item { border-image: url(:/images/treeview-branch-more.png) 0; QTreeView::branch:!has-children:!has-siblings:adjoins-item { border-image: url(:/images/treeview-branch-end.png) 0; QTreeView::branch:has-children:!has-siblings:closed, QTreeView::branch:closed:has-children:has-siblings { border-image: none; image: url(:/images/treeview-expand.png); QTreeView::branch:open:has-children:!has-siblings, QTreeView::branch:open:has-children:has-siblings { border-image: none; image: url(:/images/treeview-collapse.png); 在上面的样式表,我们使用了 `border-image` 属性来设置虚线图片作为节点间的分隔符,同时还使用了 `image` 属性来设置展开和折叠图标。其,`:has-children` 伪状态表示该节点有子节点,`:has-siblings` 表示该节点有兄弟节点,`:adjoins-item` 表示该节点与其他节点相邻,`:closed` 表示该节点处于折叠状态,`:open` 表示该节点处于展开状态。 需要注意的是,为了保证样式表的正确应用,需要将 QTreeView 的 `setStyleSheet()` 方法的 `QTreeView` 替换为 `QTreeView::branch`,即: ```python tree_view.setStyleSheet(""" QTreeView::branch:has-siblings:!adjoins-item { border-image: url(:/images/treeview-vline.png) 0;