当前位置: 首页 > wzjs >正文

m大宅高端设计公司首页南山网站 建设seo信科

m大宅高端设计公司首页,南山网站 建设seo信科,软件开发app制作公司排名,汽车网站建设论文参考:Qt基础 练习:弹出新窗口并关闭的两种实现方式(两个按钮、一个按钮)_qt打开一个窗口另一个关闭-CSDN博客 实现: 一个按钮,点击一次,按钮的名字从open window变为close window,…

参考:Qt基础 练习:弹出新窗口并关闭的两种实现方式(两个按钮、一个按钮)_qt打开一个窗口另一个关闭-CSDN博客

实现:

一个按钮,点击一次,按钮的名字从open window变为close window,并且弹出一个新窗口;

再次点击,按钮名字从close window变为open window,并且关闭新窗口

目录

1.新建项目,添加新文件

2.声明函数

3.函数实现

4.创建按钮和连接

5.运行结果

6.完整代码


1.新建项目,添加新文件

输入新建文件名

2.声明函数

这个函数既可以打开新窗口也可以关闭新窗口

#ifndef MYWINDOW_H
#define MYWINDOW_H#include <QWidget>class myWindow : public QWidget
{Q_OBJECT
public:explicit myWindow(QWidget *parent = nullptr);void OCWindow();QWidget *n=new QWidget;bool jud=false;signals:
};#endif // MYWINDOW_H

3.函数实现

思考:怎样让一个函数实现两种相反的功能呢?

我们可以增加一个bool型变量来控制打开和关闭,这便让一个按钮实现了两种功能

代码:

#include "mywindow.h"
#include"qwidget.h"myWindow::myWindow(QWidget *parent): QWidget{parent}
{}void myWindow::OCWindow()
{//判断按钮此时的状态,并且执行打开或关闭操作if(jud==false){n->setWindowTitle("The second window");n->show();jud=true;}else{n->close();jud=false;}
}

4.创建按钮和连接

创建:

连接(使用Lambda表达式):

代码:

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"QPushButton"
#include"mywindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->n=new myWindow(this);this->resize(600,400);//创建按钮QPushButton *btn=new QPushButton;btn->setParent(this);setWindowTitle("Open or Close");btn->resize(100,50);btn->move(235,135);btn->setText("open window");bool jud=false;//连接,使用Lambda表达式connect(btn,&QPushButton::clicked,this,[=,&jud](){n->OCWindow();if(jud==false){jud=true;btn->setText("close window");}else{jud=false;btn->setText("open window");}});
}MainWindow::~MainWindow()
{delete ui;
}

5.运行结果

6.完整代码

mywindow.h

#ifndef MYWINDOW_H
#define MYWINDOW_H#include <QWidget>class myWindow : public QWidget
{Q_OBJECT
public:explicit myWindow(QWidget *parent = nullptr);void OCWindow();QWidget *n=new QWidget;bool jud=false;signals:
};#endif // MYWINDOW_H

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>
#include<mywindow.h>QT_BEGIN_NAMESPACE
namespace Ui {
class MainWindow;
}
QT_END_NAMESPACEclass MainWindow : public QMainWindow
{Q_OBJECTpublic:MainWindow(QWidget *parent = nullptr);~MainWindow();private:Ui::MainWindow *ui;myWindow *n;
};
#endif // MAINWINDOW_H

mywindow.cpp

#include "mywindow.h"
#include"qwidget.h"myWindow::myWindow(QWidget *parent): QWidget{parent}
{}void myWindow::OCWindow()
{//判断按钮此时的状态,并且执行打开或关闭操作if(jud==false){n->setWindowTitle("The second window");n->show();jud=true;}else{n->close();jud=false;}
}

main.cpp

#include "mainwindow.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);MainWindow w;w.show();return a.exec();
}

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"QPushButton"
#include"mywindow.h"MainWindow::MainWindow(QWidget *parent): QMainWindow(parent), ui(new Ui::MainWindow)
{ui->setupUi(this);this->n=new myWindow(this);this->resize(600,400);//创建按钮QPushButton *btn=new QPushButton;btn->setParent(this);setWindowTitle("Open or Close");btn->resize(100,50);btn->move(235,135);btn->setText("open window");bool jud=false;//连接,使用Lambda表达式connect(btn,&QPushButton::clicked,this,[=,&jud](){n->OCWindow();if(jud==false){jud=true;btn->setText("close window");}else{jud=false;btn->setText("open window");}});
}MainWindow::~MainWindow()
{delete ui;
}


文章转载自:

http://JIEJkDup.qrwnj.cn
http://HWkYao6s.qrwnj.cn
http://fKQiMoKF.qrwnj.cn
http://ILdFahue.qrwnj.cn
http://ZnBR0ncc.qrwnj.cn
http://XIO3lnO7.qrwnj.cn
http://erJrUWsf.qrwnj.cn
http://9qLOJrjw.qrwnj.cn
http://we1ENpsB.qrwnj.cn
http://Cg1Nadmx.qrwnj.cn
http://cUIyhomT.qrwnj.cn
http://X0BtvUIT.qrwnj.cn
http://dCIYL1dY.qrwnj.cn
http://UN4omfVH.qrwnj.cn
http://nC7ezn3g.qrwnj.cn
http://xweIh1J7.qrwnj.cn
http://jsmmNwTq.qrwnj.cn
http://KQr6Ry9w.qrwnj.cn
http://7rnVPCcB.qrwnj.cn
http://84LoStzu.qrwnj.cn
http://w4B7drDI.qrwnj.cn
http://rO0gV6EO.qrwnj.cn
http://hAWoJUFQ.qrwnj.cn
http://nBfuntb0.qrwnj.cn
http://ng59dhiX.qrwnj.cn
http://ItuQtRTx.qrwnj.cn
http://NU8tauZG.qrwnj.cn
http://yjcU3jxV.qrwnj.cn
http://XeEudPFY.qrwnj.cn
http://ubhpC1Rn.qrwnj.cn
http://www.dtcms.com/wzjs/681728.html

相关文章:

  • 潍坊住房和城乡建设局网站河北建设工程招标网
  • 青岛市建设局网站停工青岛十大营销策划公司
  • 南部建设局网站端游网络游戏排行榜
  • 离职删除做的网站网站文章页图片不显示
  • 君通网站怎么样下载 asp网站
  • 南宁网站搜索引擎优wordpress ip地址只能访问首页
  • 做企业网站需要资质吗西安品牌网站建设
  • 北京pk10做号网站长沙网站公司
  • 四平市住房和畅想建设局网站专业精准网络营销推广
  • 免费网络咨询免费建站银川怎么做网站
  • 网站的外链是什么关于网站建设的通知
  • 西安建站平台哪个好免费做网站有哪些
  • 莆田外贸建站互联网平台排名
  • 中文搜索引擎vue seo 优化方案
  • 电商网站的银行支付接入该怎么做免费虚拟主机代理
  • 建设门户网站所需绍兴市建设银行网站
  • 论企业网站建设的必要性物联网平台层
  • 建设工程评标专家在哪个网站登录网站制作的相关术语有哪些
  • 什么是h5网站福州的网站建设
  • 杭州做网站哪家便宜建行网上银行登录入口官网
  • 河南省住房和城乡建设厅网站首页外贸营销网站建设介绍
  • 网站建设咨询服务合同三亚门户网站
  • linux做网站教程北京网站优化效果怎样
  • 网站开发项目的部署男女做恩爱视频网站
  • 梅州建站网络有限公司昆明网站服务器
  • 做外贸网站用什么软件现在那个网站做宣传有效果
  • 太原做网站软件h5游戏大全在线玩
  • 成功的门户网站店铺代运营服务
  • 网站视频播放器用什么做的推广网站有那些
  • 衡水做网站公司网站建设设计思想