0
点赞
收藏
分享

微信扫一扫

QT中一个按钮实现另一个窗口的打开和关闭

您好 2022-09-19 阅读 207

程序思路:我们需要将这个过程写进一个函数,然后通过点击的信号与这个函数连接,就能实现通过点击一个按钮实现另一个窗口的的打开和关闭(类似于循环),首先我们要有一个判断窗口是否打开的判断标志,然后就可以根据这个标志对窗口进行打开和关闭。

头文件:Date9_19_work

#pragma once

#if _MSC_VER >= 1600

#pragma execution_character_set("utf-8")        // 该指令仅支持VS环境

#endif


#include <QtWidgets/QMainWindow>

#include "ui_Date9_19_work.h"

#include<QPushButton>


class Date9_19_work : public QMainWindow

{

   Q_OBJECT


public:

   Date9_19_work(QWidget *parent = nullptr);

   ~Date9_19_work();

   void creatWidget();

private:

   Ui::Date9_19_workClass ui;

private:

   QPushButton* btn;

   bool isOpen;

   QMainWindow* myw;

};

实现文件.cpp

#include "Date9_19_work.h"


Date9_19_work::Date9_19_work(QWidget* parent) : QMainWindow(parent),isOpen(false)

{

   ui.setupUi(this);

   this->setFixedSize(800, 640);

   this->setWindowTitle("作业练习");

   btn = new QPushButton("打开", this);

   this->myw = new QMainWindow(this);

   btn->resize(120, 60);

   btn->move(340, 290);

   connect(btn, &QPushButton::clicked, this, &Date9_19_work::creatWidget);

}


void Date9_19_work::creatWidget()

{

   

   if (!this->isOpen) {

       myw->setWindowTitle("点击打开的窗口");

       myw->setFixedSize(800, 640);

           myw->show();

           this->isOpen = true;

           btn->setText("关闭");

   }

   else {

       myw->setWindowTitle("点击打开的窗口");

       myw->setFixedSize(800, 640);

           myw->close();

           this->isOpen = false;

           btn->setText("打开");

   }

}


Date9_19_work::~Date9_19_work() {}

举报

相关推荐

0 条评论