当前位置: 首页 > news >正文

QTreeWidget QTreeWidgetItem

QTreeWidgetItem 是 Qt 框架中用于在 QTreeWidget 中表示树形结构中每个节点的类。它是 QTreeWidget 的一部分,允许您创建和管理层次结构的数据展示。

QTreeWidgetItem 用于表示树形结构中的单个节点。

  • 添加子节点

    • 可以通过 addChild() 方法向节点添加子节点,构建树形结构。
  • 设置和获取文本

    • 使用 setText()text() 方法设置和获取节点的文本内容。
  • 图标支持

    • 可以使用 setIcon()icon() 方法为节点设置和获取图标。
  • 多列支持

    • QTreeWidgetItem 支持多列显示,可以设置每列的文本和图标。
  • 状态标记

    • 可以使用 setCheckState()checkState() 方法设置和获取节点的复选框状态。
QTreeWidget && QTreeWidgetItem:

.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QVBoxLayout>QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H

.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);setWindowTitle("QTreeWidget in QMainWindow");// 创建中心小部件QWidget *centralWidget = new QWidget(this);setCentralWidget(centralWidget);// 创建垂直布局QVBoxLayout *layout = new QVBoxLayout(centralWidget);// 创建 QTreeWidgetQTreeWidget *treeWidget = new QTreeWidget();treeWidget->setColumnCount(1);  // 设置列数treeWidget->setHeaderLabels(QStringList() << "Items"); // 设置表头// 创建根节点QTreeWidgetItem *rootItem = new QTreeWidgetItem(treeWidget, QStringList() << "Root Item");// 添加子节点QTreeWidgetItem *childItem1 = new QTreeWidgetItem(rootItem, QStringList() << "Child Item 1");QTreeWidgetItem *childItem2 = new QTreeWidgetItem(rootItem, QStringList() << "Child Item 2");// 添加孙节点QTreeWidgetItem *grandchildItem = new QTreeWidgetItem(childItem1, QStringList() << "Grandchild Item 1");// 展开根节点rootItem->setExpanded(true);// 将 QTreeWidget 添加到布局layout->addWidget(treeWidget);// 设置主窗口大小并显示resize(300, 200);
}MainWindow::~MainWindow()
{delete ui;
}

运行效果:

分享一下我用的AI,突然发现他可以生成图片:

http://www.lryc.cn/news/520876.html

相关文章:

  • torch.einsum计算张量的外积
  • PostgreSQL 超级管理员详解
  • RabbitMQ 工作模式使用案例之(发布订阅模式、路由模式、通配符模式)
  • 【2024年华为OD机试】(C卷,100分)- 机场航班调度程序 (Java JS PythonC/C++)
  • Vue.js组件开发-使用地图绘制轨迹
  • vue 与 vue-json-viewer 实现 JSON 数据可视化
  • ubuntu Android : adb logcat 过滤多个log
  • kubeneters-循序渐进Cilium网络(三)
  • 编译与汇编
  • 对MySQL滴MVCC理解(超详细)
  • Mac玩Steam游戏秘籍!
  • matlab实现了一个优化的遗传算法,用于求解注汽站最优位置的问题
  • 电商项目-基于ElasticSearch实现商品搜索功能(三)
  • 【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)
  • Jsoup实现实时爬取
  • 如何在Ubuntu上安装Cmake
  • 图解Git——分支开发工作流《Pro Git》
  • 没有正确使用HTTP Range Request,导致访问Azure Blob存储的视频没有实现流式播放
  • 回归预测 | MATLAB实RVM相关向量机多输入单输出回归预测
  • 开发人员学习书籍推荐(C#、Python方向)
  • Springboot + vue 小区物业管理系统
  • 基于深度学习的视觉检测小项目(十二) 使用线条边框和渐变颜色美化界面
  • 基于OQuPy的量子编程实例探究:理论、实践与展望
  • 【数据库】二、关系数据库
  • C#类型转换
  • 【Vue】Vue组件--上
  • 21、Transformer Masked loss原理精讲及其PyTorch逐行实现
  • 构建高性能网络服务:从 Socket 原理到 Netty 应用实践
  • Spring Boot教程之五十六:用 Apache Kafka 消费 JSON 消息
  • Elasticsearch ES|QL 地理空间索引加入纽约犯罪地图