1.新建一个项目
2.打开文件:mainwindow.ui ->拖一个 tree widget 控件到画布->右击弹出对话框->单击"提升为..."选项
3.输入 MyTree->点击"添加"按钮
4.点击"提升"按钮
5.新建继承自 QTreeWidget 类的新类 MyTree
6.文件结构:
7.文件内容:
// mytree.h
#ifndef MYTREE_H
#define MYTREE_H #include <QTreeWidget> class MyTree : public QTreeWidget
{
public:
MyTree(QWidget *parent=);
void test();
}; #endif // MYTREE_H
// mytree.cpp
#include "mytree.h" #include <QMessageBox> MyTree::MyTree(QWidget *parent):
QTreeWidget(parent)
{ }
void MyTree::test(){
QMessageBox::warning(, "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);