QT学习分享(6)-------打开和关闭一个新界面
1、UI设计
2、思路
设置一个整数型变量,当子窗口打开时为1,关闭时为0,由此来控制槽函数的功能
3、代码
3.1 sonWin.h
#pragma once
#include <QtWidgets/QMainWindow>
class sonWin : public QWidget
{
Q_OBJECT;
public:
sonWin(QWidget* parent = Q_NULLPTR);
};
3.2 sonWin.cpp
#include "sonWin.h"
#ifdef WIN32
#pragma execution_character_set("utf-8")
#endif
sonWin::sonWin(QWidget* parent) : QWidget(parent)
{
this->setWindowTitle("子窗口");
this->resize(300, 300);
}
3.3 test1.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_test1.h"
#include "sonWin.h"
class test1 : public QMainWindow
{
Q_OBJECT
public:
test1(QWidget *parent = Q_NULLPTR);
int flag = 0;
sonWin son1;
private:
Ui::test1Class ui;
public slots:
void openotherwin();
};
3.4 test1.cpp
#include "test1.h"
#include "sonWin.h"
#ifdef WIN32
#pragma execution_character_set("utf-8")
#endif
test1::test1(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
setWindowTitle("打开窗口界面");
connect(ui.but1, SIGNAL(clicked()), this,SLOT(openotherwin()));
}
void test1::openotherwin()
{
if (flag == 0)
{
son1.show();
flag = 1;
ui.but1->setText("关闭");
}
else
{
son1.hide();
ui.but1->setText("打开");
flag = 0;
}
}
3.5 main.cpp
#include "test1.h"
#include <QtWidgets/QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
test1 w;
w.show();
return a.exec();
}
4、结果展示
|