0x00 使用Tree Widget控件制作树形菜单(效果图如下)
0x01 代码如下
#ifndef MAINWIDGET_H
#define MAINWIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWidget; }
QT_END_NAMESPACE
class MainWidget : public QWidget
{
Q_OBJECT
public:
MainWidget(QWidget *parent = nullptr);
~MainWidget();
private:
Ui::MainWidget *ui;
};
#endif // MAINWIDGET_H
#include "mainwidget.h"
#include "ui_mainwidget.h"
MainWidget::MainWidget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::MainWidget)
{
ui->setupUi(this);
this->setWindowTitle("Tree Widget控件的使用");
//设置表头
ui->treeWidget->headerItem()->setText(0, "菜单");
ui->treeWidget->headerItem()->setText(1, "说明");
QTreeWidgetItem* rootItem1 = new QTreeWidgetItem(ui->treeWidget);
rootItem1->setText(0,"菜单1");
QTreeWidgetItem* childItem1_1 = new QTreeWidgetItem(rootItem1);
childItem1_1->setText(0, "子菜单1");
QTreeWidgetItem* childItem1_2 = new QTreeWidgetItem(rootItem1);
childItem1_2->setText(0, "子菜单2");
QTreeWidgetItem* rootItem2 = new QTreeWidgetItem(ui->treeWidget);
rootItem2->setText(0,"菜单2");
rootItem2->setText(1,"第二个菜单");
QTreeWidgetItem* childItem2_1 = new QTreeWidgetItem(rootItem2);
childItem2_1->setText(0, "开发");
childItem2_1->setText(1, "测试Demo");
}
MainWidget::~MainWidget()
{
delete ui;
}
0x03 代码简要说明
- 代码中使用到的ui->treeWidget对象就是拖到主窗体的Tree Widget控件。