2012-04-10 13 views

答えて

0
#include <QTreeWidget> 
#include <QTreeWidgetItem> 
#include <QHeaderView> 
#include <QPushButton> 


class Header 
    : public QHeaderView 
{ 
public: 
    Header(QWidget* parent) 
     : QHeaderView(Qt::Horizontal, parent) 
     , m_button(new QPushButton("Button", this)) 
    { 
    } 

private: 
    QPushButton* m_button; 
}; 

class TreeWidget 
    : public QTreeWidget 
{ 
    Q_OBJECT 
public: 
    TreeWidget() 
     : QTreeWidget(0) 
    { 
     QTreeWidgetItem* item0 = new QTreeWidgetItem(QStringList("Item 0")); 
     QTreeWidgetItem* item1 = new QTreeWidgetItem(QStringList("Item 1")); 
     addTopLevelItem(item0); 
     addTopLevelItem(item1); 
     createHeader(); 
    } 

private: 
    void createHeader() 
    { 
     m_header = new Header(this); 
     setHeader(m_header); 
    } 

private: 
    Header* m_header; 

}; 

int main(int c, char** v) 
{ 
    QApplication a(c, v); 

    TreeWidget* tw = new TreeWidget(); 
    tw->show(); 

    return a.exec(); 
} 


//QTreeWidget header is an "stand alone" widget - QHeaderView, so you can set the custom implementation of it. 
+0

ありがとうございますが、私はまだ質問があります。ヘッダーにQPushButton * m_buttonを表示する方法、私たちはUIのボタンを見ることができますか? – Nick

+0

このコードでは '既に表示されています。投稿した例を試しましたか?それを試してください。 – milyaaf

+0

はい、私はそれを試して、それは仕事です。とても大変です! – Nick

関連する問題