百度网站站长优秀企业
1、概述
QTreeWidget 是 Qt 框架中的一个类,用于以树形结构展示数据。它基于 QTreeView 并提供了更高级别的接口,使得添加、删除和管理树形结构中的项变得更加简单。QTreeWidget 支持多级嵌套,每个项(QTreeWidgetItem)都可以有子项,从而形成复杂的树状结构。QTreeWidget 还提供了丰富的功能,如拖放操作、项的选择、编辑和展开/折叠等。
2、重要方法
QTreeWidget 提供了一系列方法来管理和操作树形结构中的数据,以下是一些重要的方法:
- addTopLevelItem:向树中添加顶级项。
 - insertTopLevelItem:在指定位置插入顶级项。
 - addChildItem 和 insertChildItem:向现有项添加或插入子项。
 - takeTopLevelItem 和 takeChildItem:移除顶级项或子项。
 - clear:清除树中的所有项。
 - expandAll 和 collapseAll:展开或折叠树中的所有项。
 - expandItem 和 collapseItem:展开或折叠指定的项。
 - setItemText:设置项的文本。
 - setItemIcon:设置项的图标。
 - setItemData 和 itemData:设置和获取项的自定义数据。
 - sortItems:对项进行排序。
 
3、重要信号
QTreeWidget 发射多种信号来响应用户的操作和数据的变更,以下是一些重要的信号:
- itemClicked:单击某个项时发射此信号。
 - itemDoubleClicked:双击某个项时发射此信号。
 - itemPressed:按下鼠标按钮在某个项上时发射此信号。
 - itemReleased:释放鼠标按钮在某个项上时发射此信号。
 - itemChanged:项的某些属性(如文本或图标)发生变化时发射此信号。
 - itemExpanded 和 itemCollapsed:当项被展开或折叠时发射这些信号。
 - itemSelectionChanged:选择发生变化时发射此信号。
 - currentItemChanged:当前项发生变化时发射此信号。
 
#include <QApplication>  
#include <QTreeWidget>  
#include <QTreeWidgetItem>  
#include <QDebug>  int main(int argc, char *argv[]) {  QApplication app(argc, argv);  // 创建一个 QTreeWidget 实例  QTreeWidget treeWidget;  treeWidget.setColumnCount(1); // 设置列数  treeWidget.setHeaderLabel("Tree Items"); // 设置表头标签  // 创建顶级项  QTreeWidgetItem *rootItem1 = new QTreeWidgetItem(&treeWidget);  rootItem1->setText(0, "Root Item 1");  // 创建子项  QTreeWidgetItem *childItem1 = new QTreeWidgetItem(rootItem1);  childItem1->setText(0, "Child Item 1.1");  QTreeWidgetItem *childItem2 = new QTreeWidgetItem(rootItem1);  childItem2->setText(0, "Child Item 1.2");  // 创建另一个顶级项及其子项  QTreeWidgetItem *rootItem2 = new QTreeWidgetItem(&treeWidget);  rootItem2->setText(0, "Root Item 2");  QTreeWidgetItem *childItem3 = new QTreeWidgetItem(rootItem2);  childItem3->setText(0, "Child Item 2.1");  // 展开所有项  treeWidget.expandAll();  // 连接 itemClicked 信号到槽函数  QObject::connect(&treeWidget, &QTreeWidget::itemClicked, [&](QTreeWidgetItem *item, int column) {  qDebug() << "Clicked item:" << item->text(column);  });  // 显示 QTreeWidget  treeWidget.show();  return app.exec();  
} 


觉得有帮助的话,打赏一下呗。。
           
