QTreeWidget的简单使用

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

 

代码:

 

#include <QApplication> 
#include <QTreeWidget> 
#include <QTreeWidgetItem> 
#include <QStringList> 

int main(int argc, char** argv) 
{ 
    QApplication app(argc, argv); 
    QTreeWidget* treeWidget = new QTreeWidget; 
    treeWidget->setWindowTitle("QTreeWidget"); //设定头项名称 
    treeWidget->setHeaderLabels(QStringList()<<"Key"<<"Value"); //设定各个项 
    QTreeWidgetItem* A = new QTreeWidgetItem(QStringList()<<"A"); 
    A->setIcon(0, QIcon("images/data.png")); 
    A->setCheckState(0, Qt::Checked); 
    QTreeWidgetItem* B = new QTreeWidgetItem(QStringList()<<"B"); 
    B->setIcon(0, QIcon("images/decision.png")); 
    B->setCheckState(0, Qt::Checked); 
    QTreeWidgetItem* C = new QTreeWidgetItem(QStringList()<<"C"); 
    C->setIcon(0, QIcon("images/process.png")); 
    C->setCheckState(0, Qt::Checked); 
    treeWidget->addTopLevelItem(A); 
    treeWidget->addTopLevelItem(B); 
    treeWidget->addTopLevelItem(C); 
    for(int i=0; i<3; ++i) 
    { 
        QStringList columItemList; 
        QTreeWidgetItem *child; 
        QString key, value; 
        key += "a" + QString::number(i); 
        value += QString::number(i); 
        columItemList<<key<<value; 
        child = new QTreeWidgetItem(columItemList); 
        A->addChild(child); 
    } 
    for(int i=0; i<3; ++i) { 
        QStringList columItemList; 
        QTreeWidgetItem *child; 
        QString key, value; 
        key += "b" + QString::number(i); 
        value += QString::number(i); 
        columItemList<<key<<value; 
        child = new QTreeWidgetItem(columItemList); 
        B->addChild(child); 
    } 
    for(int i=0; i<3; ++i) {
        QStringList columItemList; 
        QTreeWidgetItem *child; 
        QString key, value; 
        key += "c" + QString::number(i); 
        value += QString::number(i); 
        columItemList<<key<<value; 
        child = new QTreeWidgetItem(columItemList); 
        C->addChild(child); 
    } 
    treeWidget->show(); 
    return app.exec(); 
}

 

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

 

运行的结果如下图:

 

 

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

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值