1、新建一个项目,双击.ui文件,进行UI界面设计,设计结果如下图:
2、在test6.cpp中添加如下代码,具体如下
#include "test6.h"
test6::test6(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
ui.treeWidget->setStyle(QStyleFactory::create("windows")); //设置虚线和伸缩加减号
ui.treeWidget->clear(); //QTreeWidget清空
ui.treeWidget->setFrameStyle(QFrame::NoFrame); //框架样式
ui.treeWidget->setHeaderLabels(QStringList() << "name" << "ID");
ui.treeWidget->setColumnCount(2); //tree widget的列数
//顶层节点设计
QTreeWidgetItem * liItem = new QTreeWidgetItem(QStringList() << "project");
ui.treeWidget->addTopLevelItem(liItem);
//子节点设计
QStringList heroL1, heroL2, heroL3, heroL4, heroL5, heroL6, heroL7, heroL8, heroL9, heroL10;
heroL1 << "parameter" << "231";
heroL2 << "geometry" << "232";
heroL3 << "network" << "233";
heroL4 << "aggregate" << "234";
heroL5 << "MaterialScience" << "235";
heroL6 << "attribute" << "236";
heroL7 << "load" << "237";
heroL8 << "constraint" << "238";
heroL9 << "solve" << "239";
heroL10 << "result" << "240";
QTreeWidgetItem * li1 = new QTreeWidgetItem(heroL1);
liItem->addChild(li1);
QTreeWidgetItem * li2 = new QTreeWidgetItem(heroL2);
liItem->addChild(li2);
QTreeWidgetItem * li3 = new QTreeWidgetItem(heroL3);
liItem->addChild(li3);
QTreeWidgetItem * li4 = new QTreeWidgetItem(heroL4);
liItem->addChild(li4);
QTreeWidgetItem * li5 = new QTreeWidgetItem(heroL5);
liItem->addChild(li5);
QTreeWidgetItem * li6 = new QTreeWidgetItem(heroL6);
liItem->addChild(li6);
QTreeWidgetItem * li7 = new QTreeWidgetItem(heroL7);
liItem->addChild(li7);
QTreeWidgetItem * li8 = new QTreeWidgetItem(heroL8);
liItem->addChild(li8);
QTreeWidgetItem *item1_1_1 = new QTreeWidgetItem(li8, QStringList("1-1-1"));
li8->addChild(item1_1_1);
QTreeWidgetItem * li9 = new QTreeWidgetItem(heroL9);
liItem->addChild(li9);
QTreeWidgetItem * li10 = new QTreeWidgetItem(heroL10);
liItem->addChild(li10);
}
3、在test6.h中包含几个头文件,具体代码如下:
#pragma once
#include <QTreeWidget>
#include <QTreeWidgetItem>
#include <QMessageBox>
#include <QDebug>
#include <QStyleFactory>
#include <QtWidgets/QMainWindow>
#include "ui_test6.h"
class test6 : public QMainWindow
{
Q_OBJECT
public:
test6(QWidget *parent = Q_NULLPTR);
private:
Ui::test6Class ui;
};
4、运行结果如下图: