1.新建一個項目
2.打開文件:mainwindow.ui ->拖一個 tree widget 控件到畫布->右擊彈出對話框->單擊"提升為..."選項
3.輸入 MyTree->點擊"添加"按鈕
4.點擊"提升"按鈕
5.新建繼承自 QTreeWidget 類的新類 MyTree
6.文件結構:
7.文件內容:
1 // mytree.h 2 #ifndef MYTREE_H 3 #define MYTREE_H 4 5 #include <QTreeWidget> 6 7 class MyTree : public QTreeWidget 8 { 9 public: 10 MyTree(QWidget *parent=0); 11 void test(); 12 }; 13 14 #endif // MYTREE_H
// mytree.cpp #include "mytree.h" #include <QMessageBox> MyTree::MyTree(QWidget *parent): QTreeWidget(parent) { } void MyTree::test(){ QMessageBox::warning(0, "test", "test"); }
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); ui->treeWidget->test(); } MainWindow::~MainWindow() { delete ui; }
8.ui_mainwindow.h 中的代碼變成了 new MyTree, 這樣可以深度封裝 tree 類, 無需類型轉換
// ui_mainwindow.h treeWidget = new MyTree(centralWidget);