QT使用同一按钮实现【打开/关闭】新窗口,实现方案如下:
- 使用一个全局状态变量记录窗口打开状态
- 通过该状态实现新窗口的
show
和close
实现代码如下:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "form.h"
#include <QDebug>static bool newWinFlag = false;
Form *configWindow = NULL;MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}void MainWindow::on_pushButton_clicked()
{qDebug() << newWinFlag;newWinFlag = !newWinFlag;if(newWinFlag == true){configWindow = new Form;configWindow->show();return;}else{configWindow->close();return;}}
参考链接:
- https://blog.csdn.net/shenlaoli/article/details/128681032