首页 > 其他分享 >5-20打卡:qt实现开启关闭窗口

5-20打卡:qt实现开启关闭窗口

时间:2023-05-21 16:34:26浏览次数:50  
标签:Widget 窗口 qt QWidget closewindow 关闭 按钮 20 打卡

我想要实现:按下新建窗口,然后新建出一个窗口,这时按钮变成关闭窗口,然后我再点击关闭窗口按钮、那么新建的窗口关闭。

// 在Widget类里面声明一个QWidget的指针成员变量
QWidget *w;

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QPushButton *closewindow=new QPushButton;
    closewindow->setParent(this);
    closewindow->setText("开启窗口");
    closewindow->move(150,0);
    connect(closewindow,&QPushButton::clicked,this,[=](){
        // 判断按钮的文本属性
        if(closewindow->text()=="关闭窗口"){
            // 关闭并删除新建窗口
            w->close();
            delete w;
            // 恢复按钮的文本为开启窗口
            closewindow->setText("开启窗口");
        } else {
            // 创建一个新的窗口
            w=new QWidget;
            w->show();
            w->resize(300,200);
            w->setWindowTitle("新窗口");
            w->move(1000,500);
            // 修改按钮的文本为关闭窗口
            closewindow->setText("关闭窗口");
        }
    });
}

标签:Widget,窗口,qt,QWidget,closewindow,关闭,按钮,20,打卡
From: https://www.cnblogs.com/wlxdaydayup/p/17418731.html

相关文章

  • NOIP2018普及组试题题解
    1.标题统计原题:https://www.luogu.com.cn/problem/P5015#include<bits/stdc++.h>#definelllonglongusingnamespacestd;strings;intans=0;intmain(){ getline(cin,s);intlen=s.length(); for(inti=0;i<len;i++){ if(s[i]>='0'&&......
  • 5-19打卡:lambda表达式
    Lambda表达式是C++11引入的一种非常方便和强大的功能,它允许你创建简洁、匿名的函数对象。在许多情况下,Lambda表达式可以使代码更简洁、易读。接下来,我会详细介绍C++Lambda表达式的基本概念、语法以及一些使用场景。Lambda表达式基本概念Lambda表达式是一个匿名的内联......
  • 2016 Android Top 10 Library
    阅读本文大概需要10.24分钟。过去的2016年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价值,为开发者提供了极大的便利,这些终究由时间来判断。今天,我就来整理一篇,我个人认为的2016年对Android开发有巨大帮助的......
  • 2016 Top 10 Android Library
    过去的2016年,开源社区异常活跃,很多个人与公司争相开源自己的项目,让人眼花缭乱,然而有些项目只是昙花一现,有些项目却持久创造价值,为开发者提供了极大的便利,这些终究由时间来判断。今天,我就来整理一篇,我个人认为的2016年对Android开发有巨大帮助的,甚至改变了Android开发方式的......
  • Stack Overflow 2017 开发者调查报告(程序员必看)
    最近,StackOverflow发布了一篇2017开发者调查报告,此次在全球有超过64,000名开发者参与调查,分别对其技能、工具、学习趋势等数据进行了统计,比较遗憾的是中国参与调查的开发者很少,只有大概300人左右,所以有些调查结果可能跟中国环境不太相符,不过毫无疑问,这几乎代表了全球技术的......
  • 2023 从纯小白到视觉SLAM开发者 学习路线图
    【2023从纯小白到视觉SLAM开发者学习路线图】共包含5个部分:(1)初学(Beginner)(2)熟悉视觉SLAM(GetFamiliar)(3)单目视觉SLAM(Monocular)(4)RGBD-VSLAM(5)ApplyingDeepLearning前两部分,主要是基础知识点的梳理。论文集包含后三个部分中提到的各个主要论文,其中大部分论文均提供了代码或者项目地......
  • mqtt V3到mqtt V3.1的改变
    1.1.ChangesThefollowingarethechangesbetweenMQTTV3andMQTTV3.1:UsernameandpasswordcannowbesentwithaCONNECTpacketNewreturncodesonCONNACKpackets,forsecurityproblemsClarificationthatclientsarenotinformedofun-authorizedPUBL......
  • MQTT 3.1.1,值得升级的6个新特性
    前言以前看英文文章或资料,看完之后,摘要或者忘记。这一次选择感兴趣的MQTT3.1.1介绍文章资料,引文见文末,作为练手;非完全翻译,去除掉一些广告性描述,若侵权,请告知。在沉寂了四年之后,QTT3.1.1规范于2014年10月30号正式发布,与此同时MQTT3.1.1已成为OASIS(结构化信息标准促进组织)开放物......
  • MQTT协议笔记之连接和心跳
    前言本篇会把连接(CONNECT)、心跳(PINGREQ/PINGRESP)、确认(CONNACK)、断开连接(DISCONNECT)和在一起。CONNECT像前面所说,MQTT有关字符串部分采用的修改版的UTF-8编码,CONNECT可变头部中协议名称、消息体都是采用修改版的UTF-8编码。前面基本上可变头部内容不多,下面是一个较为完整的......
  • Qt for Mobile程序设置启动图片
    QtforMobile默认是用了一张纯黑的图片作为程序启动图片,所以一开始程序启动时会出现1到几秒的黑屏,机器越慢,这个时间越长,比较不美观,我们可以自己动手设置上适合的图片。移动app的启动图片在iOS上叫launchimage,在Android上叫splashscreen,在istkani上都用上了。在iOS上传统的做法,可......