QT中,可以使用QTeeWidget展示树结构。
下面以一个简单的例子代码,展示QTeeWidget的使用方法。
先看一下代码的运行效果:

相应的代码如下
mainwindow.h代码:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
#include <QTreeWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr);
~MainWindow();
private:
Ui::MainWindow *ui;
QTreeWidget HtmdTreeWidget;
QTreeWidgetItem HtmdTreeWidgetItems [10];
};
#endif // MAINWINDOW_H
mainwindow.cpp代码:
#include "mainwindow.h"
#include "./ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
setWindowTitle("QTreeWidget示例 - 何问起");
HtmdTreeWidget.move(10,20);
HtmdTreeWidget.resize(200,230);
HtmdTreeWidget.setParent(this);
HtmdTreeWidget.setColumnCount(1);// 设置列 数量 为 1
HtmdTreeWidget.setHeaderHidden(true);//隐藏头部
HtmdTreeWidgetItems[0].setText(0,"水果");// 设置节点文本, by 何问起
HtmdTreeWidget.addTopLevelItem(&HtmdTreeWidgetItems[0]);//添加顶级节点
HtmdTreeWidgetItems[1].setText(0,"苹果");
HtmdTreeWidgetItems[0].addChild(&HtmdTreeWidgetItems[1]);//添加子节点
HtmdTreeWidgetItems[2].setText(0,"红富士");
HtmdTreeWidgetItems[1].addChild(&HtmdTreeWidgetItems[2]);
HtmdTreeWidgetItems[3].setText(0,"黄元帅");
HtmdTreeWidgetItems[1].addChild(&HtmdTreeWidgetItems[3]);
HtmdTreeWidgetItems[4].setText(0,"花牛");
HtmdTreeWidgetItems[1].addChild(&HtmdTreeWidgetItems[4]);
HtmdTreeWidgetItems[5].setText(0,"葡萄");
HtmdTreeWidgetItems[0].addChild(&HtmdTreeWidgetItems[5]);
HtmdTreeWidgetItems[6].setText(0,"黑葡萄");
HtmdTreeWidgetItems[5].addChild(&HtmdTreeWidgetItems[6]);
HtmdTreeWidgetItems[7].setText(0,"青葡萄");
HtmdTreeWidgetItems[5].addChild(&HtmdTreeWidgetItems[7]);
HtmdTreeWidgetItems[8].setText(0,"蔬菜");
HtmdTreeWidget.addTopLevelItem(&HtmdTreeWidgetItems[8]);
HtmdTreeWidgetItems[9].setText(0,"白菜");
HtmdTreeWidgetItems[8].addChild(&HtmdTreeWidgetItems[9]);
}
MainWindow::~MainWindow()
{
delete ui;
}