欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

J_3 如何在一个MainWindow页面加载、切换多个页面

程序员文章站 2022-03-07 20:13:25
1、如视频所示,在MainWindow右键点击添加工具条;2、在MainWindow中随意添加一个控件,我们添加一个button吧,然后在窗口上点击右键,选择布局,选择栅格布局,这时候窗口中的任何控件都可以随着窗口最大化、最小化了;因为我们这个实例中并不需要这个button,现在删除button,为什么在这里需要添加这个控件然后又删除呢?是因为如果窗口中一个控件都没有时,点击右键是不能给它加上布局的;3、在Action Editor窗口添加两个Action,分别是Page1、Page2,然后把他们拖...

1、如视频所示,在MainWindow右键点击添加工具条;

2、在MainWindow中随意添加一个控件,我们添加一个button吧,然后在窗口上点击右键,选择布局,选择栅格布局,这时候窗口中的任何控件都可以随着窗口最大化、最小化了;因为我们这个实例中并不需要这个button,现在删除button,为什么在这里需要添加这个控件然后又删除呢?是因为如果窗口中一个控件都没有时,点击右键是不能给它加上布局的;

3、在Action Editor窗口添加两个Action,分别是Page1、Page2,然后把他们拖到工具条上;

4、在Action Editor窗口,右键点击Page1,点击“go to slot”,选择”triggered()“,就在mainwindow.cpp中创建了槽方法:

void MainWindow::on_actionPage1_triggered();

同样的方法创建了槽方法:

void MainWindow::on_actionPage2_triggered();

5、如视频所示,给项目添加两个Form1、Form2,并且在这两个界面上分别添加一个按钮;

6、在mainwindow.h文件中加头文件:

#include "form1.h"

#include "form2.h"

并申明两个指针:

Form1* mform1;

Form2* mform2;

7、在mainwindow.cpp构造函数中初始化 mform1, mform1:

mform1 = nullptr;

mform2 = nullptr;

8、在mainwindow.cpp的void MainWindow::on_actionPage1_triggered()槽方法中添加如下代码:

ui->gridLayout->removeWidget(mform2);

if(mform2!=nullptr)

delete mform2;

mform1 = new Form1;

ui->gridLayout->addWidget(mform1);

9、在mainwindow.cpp的void MainWindow::on_actionPage2_triggered()槽方法中添加如下代码:

ui->gridLayout->removeWidget(mform1);

if(mform1!=nullptr)

delete mform1;

mform2 = new Form2;

ui->gridLayout->addWidget(mform2);

需要观看运行效果或需要完整源代码,请到www.toutiao.com/i6846773308721988109/链接评论区写上你的邮箱

本文地址:https://blog.csdn.net/zhulicaozhu/article/details/107280230