QT(C++)-QTreeview节点折叠与展开

文章目录

  • 1、前言
  • 2、QTreeview全部展开与折叠
  • 3、QTreeview某个节点展开与折叠
    • 3.1 节点折叠与展开的信号与槽
    • 3.2 槽函数的实现
    • 3.3 某个节点展开与折叠


1、前言

最近要用QT开发项目,对QT不是很熟,就根据网上的查到的知识和自己的摸索,将一些经验和知识记录下来。方便自己后续查找。
这个博客主要是QTreeview的节点折叠和展开。


2、QTreeview全部展开与折叠

//全部节点折叠
 treeView->collapseAll();
//全部节点展开
 treeView->expandAll();

3、QTreeview某个节点展开与折叠

3.1 节点折叠与展开的信号与槽

// 在构造函数中连接collapsed和expanded信号
connect(treeView, SIGNAL(collapsed(const QModelIndex &)), this, SLOT(onCollapsed(const QModelIndex &)));
connect(treeView, SIGNAL(expanded(const QModelIndex &)), this, SLOT(onExpanded(const QModelIndex &)));

3.2 槽函数的实现

// 槽函数的实现
void MyClass::onCollapsed(const QModelIndex &index)
{
    // 这里是节点被折叠时的处理代码
}

void MyClass::onExpanded(const QModelIndex &index)
{
    // 这里是节点被展开时的处理代码
}

3.3 某个节点展开与折叠

void Myclass::updateSpecialNode(const QModelIndex &index)
{    
    this->collapse(index);
    this->expand(index);
}

你可能感兴趣的:(QT,qt,c++)