目录
1. QTreeWidget
1.1 简介
QTreeWidget是Qt中用于显示树形数据的控件,通常用于展示层级结构的数据,例如文件系统、组织结构、分类目录等。以下是一些常见的应用场景:文件资源管理器:用于显示文件系统的目录结构和文件列表。组织结构图:用于显示公司或组织的层级结构,包括部门、员工等。分类目录:用于显示产品分类、商品类别等层级结构。设置菜单:用于显示具有层级结构的设置选项或菜单项。数据导航:用于显示包含层级关系的数据,例如数据库表的索引、关系等。总之,QTreeWidget适用于需要展示层级结构数据的各种场景,能够以树形式清晰地展示数据的层级关系。
1.2 基本使用
⚪添加1级节点并设置节点字体
// 添加一级节点
QTreeWidgetItem *topItem = new QTreeWidgetItem(ui->treeWidget);
topItem->setText(0, "Top Item");
QFont font;
font.setBold(true);
font.setFamily("微软雅黑");
topItem->setFont(0,font);
⚪添加子节点
QTreeWidgetItem *childItem0 = new QTreeWidgetItem(topItem);
childItem0->setText(0, "Child Item0");
⚪添加右键菜单
ui->treeWidget->setContextMenuPolicy(Qt::CustomContextMenu);//显示右键菜单
//添加右键菜单
treeContextMenu = new QMenu(ui->treeWidget);
QAction* actAddPara = new QAction("新增参数",this);
QAction* actSaveAsIni =new QAction("另存为",this);
treeContextMenu->addAction(actAddPara);
treeContextMenu->addAction(actSaveAsIni);
connect(actAddPara,SIGNAL(triggered()),this,SLOT(doProcessAddPara()));
connect(actSaveAsIni,SIGNAL(triggered()),this,SLOT(doProcessSaveAsIni()));
connect(ui->treeWidget, SIGNAL(customContextMenuRequested(const QPoint&)), this,
SLOT(doProcessMenuRequested(const QPoint&)));