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,突然发现他可以生成图片: