Qt QTreeWidget

本文展示了一个使用Qt库中的QTreeWidget组件构建简单树形结构的实例。该示例创建了一个包含根节点及两个子节点的树形结构,并演示了如何通过信号槽机制响应用户的点击事件来更新界面上的标签内容。

1)dialogimpl.h

#ifndef DIALOGIMPL_H
#define DIALOGIMPL_H
//
#include <QDialog>
#include "ui_dialog.h"
#include "QHBoxLayout"
#include "QTreeWidget"
#include "QMessageBox"
#include "QLabel"
//
class DialogImpl : public QDialog, public Ui::Dialog
{
Q_OBJECT
public:
    DialogImpl( QWidget * parent = 0, Qt::WFlags f = 0 );
private:
    QHBoxLayout * layout;
    QLabel *label;
private slots:
    void GetItemText(QTreeWidgetItem* item);
};
#endif

2)dialogimpl.h

#include "dialogimpl.h"
//
DialogImpl::DialogImpl( QWidget * parent, Qt::WFlags f)
    : QDialog(parent, f)
{
    setupUi(this);
    this->setWindowTitle("QTreeWidget Demo");
    layout=new QHBoxLayout;
    label=new QLabel;
    label->setFixedWidth(50);
    layout->addWidget(label);
    
    QTreeWidget *tree=new QTreeWidget;
    tree->setColumnCount(2);
    QStringList headers;
    headers<<"name"<<"level";
    tree->setHeaderLabels(headers);
    
    QStringList rootText;
    rootText<<"father"<<"0";
    QTreeWidgetItem *root=new QTreeWidgetItem(rootText);
    tree->addTopLevelItem(root);
    
    QStringList subText1;
    subText1<<"sister"<<"1";
    QTreeWidgetItem *sub1=new QTreeWidgetItem(subText1);
    root->addChild(sub1);
    
    QStringList subText2;
    subText2<<"borther"<<"2";
    QTreeWidgetItem *sub2=new QTreeWidgetItem(subText2);
    root->addChild(sub2);
    
    root->setExpanded(true);
    layout->addWidget(tree);
    setLayout(layout);
    
    connect(tree,SIGNAL(itemClicked(QTreeWidgetItem*,int)),this,SLOT(GetItemText(QTreeWidgetItem*)));
}
void DialogImpl::GetItemText(QTreeWidgetItem* item)
{
    label->setText(item->text(0));
}
//







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值