【qt】QTreeWidget 树形组件1

简介: 【qt】QTreeWidget 树形组件

一.什么是树形组件

树形组件,我们可以想象一下我们的文件或者qt左侧的项目。

对对对,就类似于这样!

还是老样子,我们跟着项目来

上图:

来吧,开干!

二.界面设计树形组件

可以双击直接添加树形内容:

还可以添加子目录

三.代码实现

1.清空

先将刚刚我们界面添加的清除干净。

ui->treeWidget->clear();

2.设置列数

设置目录有几列

ui->treeWidget->setColumnCount(2);

3.设置头标签

ui->treeWidget->setHeaderLabels(QStringList("科目","描述"));

运行结果:

4.添加根目录

①QTreeWidgetitem

注意初始化就是treeWidget

QTreeWidgetItem * root1=new QTreeWidgetItem(ui->treeWidget);

②设置文本

root1->setText(0,"c语言");    
 root1->setText(1,"开发基础");

运行结果:

③设置图标

需要素材的可以dd我

    QIcon icon;
    icon.addFile(":/image/file.png");
    root1->setIcon(0,icon);

运行结果:

④添加为顶层目录

添加为顶层目录,也就是添加成根目录

ui->treeWidget->addTopLevelItem(root1);

5.添加子目录

①初始化为父目录

这里的root1就是我们刚刚添加的根目录

QTreeWidgetItem* item=new QTreeWidgetItem(root1);

②子目录添加到父目录

QStringList list={"指针","程序控制","数据结构","结构体","文件操作"};
    for(int i=0;i<list.count();i++)
    {
        QTreeWidgetItem* item=new QTreeWidgetItem(root1);
        item->setText(0,list[i]);
        item->setText(1,"熟练掌握");
        root1->addChild(item);
    }

现在的运行结果:

③获取到子目录

要是我们还想要在文件操作的目录下再添加目录可以先获取到文件操作的目录项,再下一层初始化为它。

 auto child=root1->child(4);
    QStringList list2={"读文件","写文件","查找文件","删除文件"};
    for(int i=0;i<list2.count();i++)
    {
        QTreeWidgetItem*item=new QTreeWidgetItem(child);
        item->setText(0,list2[i]);
        item->setText(1,"必须掌握");
        root1->addChild(child);
    }

运行结果:

我们还可以再添加一个c++的根目录

QTreeWidgetItem * root2=new QTreeWidgetItem(ui->treeWidget);
    root2->setText(0,"c++");
    root2->setText(1,"开发高级");

    icon.addFile(":/image/file.png");
    root2->setIcon(0,icon);

    ui->treeWidget->addTopLevelItem(root2);


    QStringList list3={"类和对象","继承和派生","运算符重载","虚函数","模板"};
    for(int i=0;i<list3.count();i++)
    {
        QTreeWidgetItem* item=new QTreeWidgetItem(root2);
        item->setText(0,list3[i]);
        item->setText(1,"熟练掌握");
        root2->addChild(item);
    }

运行结果:

【qt】QTreeWidget 树形组件2:https://developer.aliyun.com/article/1523053

相关文章
|
19天前
Qt安装之后添加或移除组件(Qt Creator 10.0.1)
Qt安装之后添加或移除组件(Qt Creator 10.0.1)
19 2
|
2月前
【qt】QTableWidget 表格组件3
【qt】QTableWidget 表格组件
19 0
|
2月前
【qt】QTableWidget 表格组件2
【qt】QTableWidget 表格组件
29 0
|
2月前
【qt】QTableWidget 表格组件1
【qt】QTableWidget 表格组件
22 0
|
2月前
|
索引 Windows
【qt】QTreeWidget 树形组件2
【qt】QTreeWidget 树形组件
23 0
|
2月前
|
算法 编译器 Linux
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
【Qt4 部署】ARM系统上使用Qt 4 进行开发的QWS 等环境变量部署
57 0
|
11天前
|
数据安全/隐私保护 C++ 计算机视觉
Qt(C++)开发一款图片防盗用水印制作小工具
文本水印是一种常用的防盗用手段,可以将文本信息嵌入到图片、视频等文件中,用于识别和证明文件的版权归属。在数字化和网络化的时代,大量的原创作品容易被不法分子盗用或侵犯版权,因此加入文本水印成为了保护原创作品和维护知识产权的必要手段。 通常情况下,文本水印可以包含版权声明、制作者姓名、日期、网址等信息,以帮助识别文件的来源和版权归属。同时,为了增强防盗用效果,文本水印通常会采用字体、颜色、角度等多种组合方式,使得水印难以被删除或篡改,有效地降低了盗用意愿和风险。 开发人员可以使用图像处理技术和编程语言实现文本水印的功能,例如使用Qt的QPainter类进行文本绘制操作,将文本信息嵌入到图片中,
31 1
Qt(C++)开发一款图片防盗用水印制作小工具
|
26天前
|
关系型数据库 MySQL 项目管理
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
数据库大作业——基于qt开发的图书管理系统(四)项目目录的整理与绘制登录页面
|
26天前
|
SQL 关系型数据库 MySQL
数据库大作业——基于qt开发的图书管理系统(三)Qt连接Mysql数据库
数据库大作业——基于qt开发的图书管理系统(三)Qt连接Mysql数据库
|
26天前
|
SQL 数据可视化 关系型数据库
数据库大作业——基于qt开发的图书管理系统(二) 相关表结构的设计
数据库大作业——基于qt开发的图书管理系统(二) 相关表结构的设计