#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QMenu>#include<QMenuBar>#include<QContextMenuEvent>#include <QHBoxLayout>#include <QVBoxLayout>#include <QTreeWidget>#include<QTreeWidgetItem>#include<QLineEdit>#include<QPushButton>#include <QCheckBox>#include <QMessageBox>namespace Ui {class Widget;}class Widget : public QWidget{Q_OBJECTpublic:explicit Widget(QWidget *parent = 0);~Widget();private:Ui::Widget *ui;/* QTreeWidget *treeWidget ;QTreeWidgetItem * newItem;QTreeWidgetItem *addSpace;QTreeWidgetItem *addPlate;QLineEdit * sortEdit;QPushButton *button ;*/QTreeWidget *treeWidget;QHBoxLayout *hLayout;};#endif // WIDGET_H#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent) :QWidget(parent),ui(new Ui::Widget){ui->setupUi(this);treeWidget = new QTreeWidget ;treeWidget->setColumnCount(1);treeWidget->setStyleSheet("background-color:rgb(119, 133, 255)");treeWidget->setMaximumWidth(120);treeWidget->setMinimumHeight(200);//第一项treeWidget->setHeaderLabel("主构件");QTreeWidgetItem *tWidgetItem1 = new QTreeWidgetItem(treeWidget,QStringList(QString("钢柱")));// tWidgetItem1->setIcon(0,QIcon("xxx.png"));该语句可以加载背景图片QTreeWidgetItem *tWidgetItem1_1 = new QTreeWidgetItem(tWidgetItem1,QStringList(QString("钢梁")));QTreeWidgetItem *tWidgetItem1_2 = new QTreeWidgetItem(tWidgetItem1,QStringList(QString("吊车梁")));QTreeWidgetItem *tWidgetItem1_3 = new QTreeWidgetItem(tWidgetItem1,QStringList(QString("梴架")));QTreeWidgetItem *tWidgetItem1_4 = new QTreeWidgetItem(tWidgetItem1,QStringList(QString("格构架")));tWidgetItem1 ->addChild(tWidgetItem1_1 ); //添加子节点tWidgetItem1 ->addChild(tWidgetItem1_2 );tWidgetItem1 ->addChild(tWidgetItem1_3 );tWidgetItem1 ->addChild(tWidgetItem1_4 );//第二项QTreeWidgetItem *tWidgetItem2 = new QTreeWidgetItem(treeWidget,QStringList(QString("次构件")));QTreeWidgetItem *tWidgetItem2_1 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("水平支撑")));QTreeWidgetItem *tWidgetItem2_2 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("柱间支撑")));QTreeWidgetItem *tWidgetItem2_3 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("水平支撑")));QTreeWidgetItem *tWidgetItem2_4 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("檩条")));QTreeWidgetItem *tWidgetItem2_5 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("钢楼梯")));QTreeWidgetItem *tWidgetItem2_6 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("拉条")));QTreeWidgetItem *tWidgetItem2_7 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("隅撑")));QTreeWidgetItem *tWidgetItem2_8 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("平台")));QTreeWidgetItem *tWidgetItem2_9 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("天窗架")));QTreeWidgetItem *tWidgetItem2_10 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("爬梯")));QTreeWidgetItem *tWidgetItem2_11 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("栏杆")));QTreeWidgetItem *tWidgetItem2_12 = new QTreeWidgetItem(tWidgetItem2,QStringList(QString("天沟")));tWidgetItem2 ->addChild(tWidgetItem2_1 ); //添加子节点tWidgetItem2 ->addChild(tWidgetItem2_2 );tWidgetItem2 ->addChild(tWidgetItem2_3 );tWidgetItem2 ->addChild(tWidgetItem2_4 );tWidgetItem2 ->addChild(tWidgetItem2_5 );tWidgetItem2 ->addChild(tWidgetItem2_6 );tWidgetItem2 ->addChild(tWidgetItem2_7 );tWidgetItem2 ->addChild(tWidgetItem2_8 );tWidgetItem2 ->addChild(tWidgetItem2_9 );tWidgetItem2 ->addChild(tWidgetItem2_10 );tWidgetItem2 ->addChild(tWidgetItem2_11 );//第三列QTreeWidgetItem *tWidgetItem3 = new QTreeWidgetItem(treeWidget,QStringList(QString("面板")));QTreeWidgetItem *tWidgetItem3_1 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("墙面板")));QTreeWidgetItem *tWidgetItem3_2 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("屋面板")));QTreeWidgetItem *tWidgetItem3_3 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("楼承板")));QTreeWidgetItem *tWidgetItem3_4 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("采光板")));QTreeWidgetItem *tWidgetItem3_5 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("走道板")));QTreeWidgetItem *tWidgetItem3_6 = new QTreeWidgetItem(tWidgetItem3,QStringList(QString("格栅板")));tWidgetItem3 ->addChild(tWidgetItem3_1 ); //添加子节点tWidgetItem3 ->addChild(tWidgetItem3_2 );tWidgetItem3 ->addChild(tWidgetItem3_3 );tWidgetItem3 ->addChild(tWidgetItem3_4 );tWidgetItem3 ->addChild(tWidgetItem3_5 );tWidgetItem3 ->addChild(tWidgetItem3_6 );//第四列QTreeWidgetItem *tWidgetItem4 = new QTreeWidgetItem(treeWidget,QStringList(QString("其他")));QTreeWidgetItem *tWidgetItem4_1 = new QTreeWidgetItem(tWidgetItem4,QStringList(QString("气楼")));QTreeWidgetItem *tWidgetItem4_2 = new QTreeWidgetItem(tWidgetItem4,QStringList(QString("门框")));QTreeWidgetItem *tWidgetItem4_3 = new QTreeWidgetItem(tWidgetItem4,QStringList(QString("窗框")));tWidgetItem4 ->addChild(tWidgetItem4_1 ); //添加子节点tWidgetItem4 ->addChild(tWidgetItem4_2 );tWidgetItem4 ->addChild(tWidgetItem4_3 );//第五行QTreeWidgetItem *tWidgetItem5 = new QTreeWidgetItem(treeWidget,QStringList(QString("自定义")));//布局hLayout = new QHBoxLayout();hLayout->addWidget(treeWidget);setLayout(hLayout);}Widget::~Widget(){delete ui;}#include "widget.h"#include <QApplication>int main(int argc, char *argv[]){QApplication a(argc, argv);Widget w;w.show();//w.setMaximumSize(200,400);// w.setMinimumSize(200,400);return a.exec();}
QTreewidget的应用
最新推荐文章于 2025-02-03 06:43:22 发布
本文介绍了一个使用 Qt 框架实现的构件树设计,通过 QTreeWidget 展示了不同类型的建筑构件,包括主构件、次构件、面板等,并详细展示了如何创建和组织这些构件。
398

被折叠的 条评论
为什么被折叠?



