01 QT子界面向父界面覆盖

  1. 最终效果
    1.1 父界面 MainWindow即qt创建时自带的QMainWindow界面

    • 01 QT子界面向父界面覆盖_第1张图片

    1.2 子界面other_page 即向工程添加 一个qt设计师界面类->Widget,此处随意扔上三个按钮以示覆盖成功

    • 01 QT子界面向父界面覆盖_第2张图片

    1.3 最终覆盖结果

    • 01 QT子界面向父界面覆盖_第3张图片
  2. 代码分析
    2.1 other_page .h(即创建后自动生成的界面,代码不做修改)

    class other_page : public QWidget //子界面继承自QWidget
    {
        Q_OBJECT
    
    public:
        explicit other_page(QWidget *parent = 0);//在类定义时要留下父界面指针
        ~other_page();
    
    private:
        Ui::other_page *ui;
    };

    2.2 other_page.cpp 中构造函数

        other_page::other_page(QWidget *parent) :
        QWidget(parent),
        ui(new Ui::other_page)
    {
        ui->setupUi(this);
    }

    2.3 mainwidow 中添加子界面的类指针
    other_page* p_ot;
    2.4 mainwindow 构造函数中实例化该类(位置不受影响)

    p_ot = new other_page(this);
    p_ot->show();

    2.5 main函数不做任何修改直接运行即可。

你可能感兴趣的:(c++)