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));
}
//







你可能感兴趣的:(Qt QTreeWidget)