qt creator 中的"提升为..."功能简介

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);
原文地址:https://www.cnblogs.com/woxinfeixiang2015/p/8260144.html