QTreeWidget的简单使用

QTreeWidget是一种树形的部件,它以树的形式显示各个项,它的每个项使用QTreeWidgetItem来表示。QTreeWidgetItem的值的表示都是用QStringList来表示的。简单的说明一下:


代码:


[cpp]  view plain copy print ?
  1. #include <QApplication>  
  2. #include <QTreeWidget>  
  3. #include <QTreeWidgetItem>  
  4. #include <QStringList>  
  5. int main(int argc, char** argv)  
  6. {  
  7.     QApplication app(argc, argv);  
  8.     QTreeWidget* treeWidget = new QTreeWidget;  
  9.     treeWidget->setWindowTitle("QTreeWidget");  
  10.     //设定头项名称  
  11.     treeWidget->setHeaderLabels(QStringList()<<"Key"<<"Value");  
  12.     //设定各个项  
  13.     QTreeWidgetItem* A = new QTreeWidgetItem(QStringList()<<"A");  
  14.     A->setIcon(0, QIcon("images/data.png"));  
  15.     A->setCheckState(0, Qt::Checked);  
  16.     QTreeWidgetItem* B = new QTreeWidgetItem(QStringList()<<"B");  
  17.     B->setIcon(0, QIcon("images/decision.png"));  
  18.     B->setCheckState(0, Qt::Checked);  
  19.     QTreeWidgetItem* C = new QTreeWidgetItem(QStringList()<<"C");  
  20.     C->setIcon(0, QIcon("images/process.png"));  
  21.     C->setCheckState(0, Qt::Checked);  
  22.     treeWidget->addTopLevelItem(A);  
  23.     treeWidget->addTopLevelItem(B);  
  24.     treeWidget->addTopLevelItem(C);  
  25.       
  26.     for(int i=0; i<3; ++i)  
  27.     {  
  28.         QStringList columItemList;  
  29.         QTreeWidgetItem *child;  
  30.         QString key, value;  
  31.         key += "a" + QString::number(i);  
  32.         value += QString::number(i);  
  33.         columItemList<<key<<value;  
  34.         child = new QTreeWidgetItem(columItemList);  
  35.         A->addChild(child);  
  36.     }  
  37.     for(int i=0; i<3; ++i)  
  38.     {  
  39.         QStringList columItemList;  
  40.         QTreeWidgetItem *child;  
  41.         QString key, value;  
  42.         key += "b" + QString::number(i);  
  43.         value += QString::number(i);  
  44.         columItemList<<key<<value;  
  45.         child = new QTreeWidgetItem(columItemList);  
  46.         B->addChild(child);  
  47.     }  
  48.     for(int i=0; i<3; ++i)  
  49.     {  
  50.         QStringList columItemList;  
  51.         QTreeWidgetItem *child;  
  52.         QString key, value;  
  53.         key += "c" + QString::number(i);  
  54.         value += QString::number(i);  
  55.         columItemList<<key<<value;  
  56.         child = new QTreeWidgetItem(columItemList);  
  57.         C->addChild(child);  
  58.     }  
  59.     treeWidget->show();  
  60.     return app.exec();  
  61.       
  62. }  


最顶层的项用addTopLevelItem来加入,每个项的子项用addChild来加入。


运行的结果如下图:


QTreeWidget的简单使用_第1张图片

 

在上面的代码中,也可以对每个子项加入图标和检测。

你可能感兴趣的:(QTreeWidget的简单使用)