第一种做法:用两个按钮实现
第一步:在Qt中新建项目,项目名随意,我自己设置的是zuoye
第二步:右击Headers文件,新建一个类,类名随意
第三步:在widget.h 、widget_2.h文件中使用C语言或者C++编写代码
第四步:在widget_2.cpp 文件中编写代码
第五步:在widget.cpp 文件中编写代码
#include "widget.h"
// 引入第二个窗口
#include "widget_2.h"
#include <QPushButton>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
// 创建open按钮
QPushButton *open = new QPushButton("open",this);
open->move(200,100);
// 创建close按钮
QPushButton *close = new QPushButton("close",this);
close->move(200,200);
// 创建第二个窗口对象
Widget_2 *w_2 = new Widget_2;
// 初始时窗口隐藏
w_2->hide();
// 信号和槽
// 点击open,显示第二个窗口
connect(open,&QPushButton::clicked,w_2,&Widget_2::show);
// 点击close,隐藏第二个窗口
connect(close,&QPushButton::clicked,w_2,&Widget_2::close);
// 重置窗口大小
resize(600,400);
// 固定窗口大小
setFixedSize(600,400);
// 设置窗口标题
setWindowTitle("第一个窗口");
}
Widget::~Widget()
{
}
第六步:保存并运行
第二种做法:用一个按钮实现
其他文件保持不变,只需要修改widget.h文件和widget.cpp文件
修改widget.h文件:
修改widget.cpp文件:
#include "widget.h"
// 引入第二个窗口
#include "widget_2.h"
#include <QPushButton>
#include <QDebug>
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
// 创建open按钮
QPushButton *open = new QPushButton("open",this);
open->move(200,100);
// 创建第二个窗口对象
Widget_2 *w_2 = new Widget_2;
// 初始时窗口隐藏
w_2->hide();
// 信号和槽
// 点击open,显示第二个窗口,按钮内容变为close,再次点击关闭窗口
connect(open,&QPushButton::clicked,w_2,[=](){
if(flg == 0)
{
open->setText("close");
w_2->show();
flg= 1;
}
else
{
open->setText("open");
w_2->hide();
flg= 0;
}
});
// 重置窗口大小
resize(600,400);
// 固定窗口大小
setFixedSize(600,400);
// 设置窗口标题
setWindowTitle("第一个窗口");
}
Widget::~Widget()
{
}
\