【QT】在窗口中添加按钮

在窗口中添加按钮

创建一个QT程序,首先要做什么?

  1. 先创建一个应用程序类
  2. 创建一个窗口类

在这里插入图片描述

在窗口中添加按钮

添加头文件:#include

在这里插入图片描述

没有设置按钮标题的函数,是因为它继承了父类,设置标题的函数在父类中。

因为好多子类都用到了这个方法,因此就封装在父类中。

在这里插入图片描述

点入父类,可以看到设置内容的函数。

在这里插入图片描述

窗口创建出来,默认不显示

需要b2->show();

在这里插入图片描述

执行以后有bug

在这里插入图片描述

原因,窗口没有指定父类

因此如果窗口需要依附于另外一个窗口,需要给这个窗口指定父类

在这里插入图片描述

调用上面三个中的任意一个。

 b2 = new QPushButton("hello,qt",this);//mywidget是父类,也就是this也就指向mywidget两外一种指定父类b1.setParent(this);b1.setText("确认");//不需要show就可以直接显示,指定了父类,因此父窗口显示,子就不用show了

在这里插入图片描述

可以看到原来的按钮被覆盖了,因此需要拖动位置。

在这里插入图片描述

如何固定窗口大小

在QT中不需要对new的内存进行释放。(拥有内存释放机制)

但也有范围:从QObject派生的类(直接派生/【间接派生(A是QObject的派生类,B是A的派生类)】)

那么QObject类在哪?

选中QWidget,按F1,如下图,可以看到。QWidget是QOBject的派生类

QObject不是窗口类,如Qtimer就是从QObject派生的,就不是窗口类

在这里插入图片描述

内存的回收机制

整个窗口关闭的时候,窗口就要被析构。

而在析构之前,会先把它的孩子都析构掉,再析构它自己。

在进行构造的时候,肯定是父类先构造,再去构造的时候,先构造它内部的子类。子类构造完成,父类就构造完成。

析构的时候,先把所有的子类析构掉,才析构自己。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/512386.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十三、类的继承、访问级别

类的继承与访问控制 类的继承 使用sealed修饰的类,是私有类,不能作为基类使用C#中一个类,只能有一个父类,但是可以实现多个接口子类的访问级别不能超过父类的访问级别 using System; using System.Collections.Generic; using S…

【C语言】【洛谷】P1125笨小猴

一、个人解答 #include<stdio.h> #include<string.h>int prime(int num);int main() {char max a, min z;int maxn0, minn1000;char str[100];int num[26] { 0 };fgets(str, sizeof(str), stdin);str[strcspn(str, "\n")] \0;for (int i 0; str[i]…

CentOS的yum报错except OSError, e:

报错信息 Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile base: mirrors.cloud.aliyuncs.comextras: mirrors.cloud.aliyuncs.comupdates: mirrors.cloud.aliyuncs.com File “/usr/libexec/urlgrabber-ext-down”, line 28 except OSError, e: ^…

Gradle学习(一)

最近在学习Gradle&#xff0c;感觉有些东西没见过&#xff0c;记录一下&#xff01; 1.Gradle与Maven的目录框架 2.Gradle的命令行安装 注&#xff1a;学习常用的是使用脚手架生成gradle项目 3.

maven项目报错Cannot resolve plugin org.apache.maven.plugins:maven-war-plugin:2.2

如果IDEA整合maven没有问题&#xff0c;还是报这个错误&#xff0c;很大可能是由于在下载过程中存在网络问题&#xff0c;导致文件下载一半而停止&#xff0c;但是已经在仓库中存在这个文件夹&#xff0c;解决方法是删除文件夹重新下载即可。 删除本地仓库下的\org\apache\mav…

AI大预言模型——ChatGPT与AI绘图及论文高效写作

原文链接&#xff1a;AI大预言模型——ChatGPT与AI绘图及论文高效写作 2023年随着OpenAI开发者大会的召开&#xff0c;最重磅更新当属GPTs&#xff0c;多模态API&#xff0c;未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义&#xff0c;不亚于互联网…

灯丝灯双通道低过温高压线性恒流芯片SM2082ED的应用及特性解析

双通道低过温高压线性恒流芯片是一种电子芯片&#xff0c;它具有双通道设计&#xff0c;可以在高电压条件下工作&#xff0c;并具有低过温特性。这种芯片通常用于需要高电流和高电压的应用&#xff0c;如LED照明、激光器、电机驱动等。 双通道设计意味着该芯片可以同时处理两个…

分布式测试插件 pytest-xdist 使用详解

使用背景&#xff1a; 大型测试套件&#xff1a;当你的测试套件非常庞大&#xff0c;包含了大量的测试用例时&#xff0c;pytest-xdist可以通过并行执行来加速整体的测试过程。它利用多个进程或计算机的计算资源&#xff0c;可以显著减少测试执行的时间。高计算资源需求&#…

保姆级GeoWebCache矢量瓦片切片流程

1矢量切片解决方案 1.1Geoserver配置geowebcache插件 参考文章 (53条消息) 独立安装geoservergeowebcache发布arcgis切片服务_itouch_ok的专栏-CSDN博客 1.将下载好的geoserver 2.19.3安装部署 将下载好的geowebcache 2.19.3的war包解压到 GeoServer 安装目录下./usr/loc…

生活干货知识:手机流量卡网速不佳的常见原因及解决办法

最近有很多的小伙伴后台留言给我&#xff0c;为什么有时候手机网路那么差呢&#xff1f;甚至连一个基本的网页都打不开&#xff0c;播放视频和电影更不用说了&#xff0c;这样严重影响了我们的使用体验&#xff0c;到底什么原因导致的呢&#xff1f;相信很多小伙伴至今仍然未清…

文件恢复软件推荐,数据恢复,很简单!

“我有一些很重要的文件被误删了&#xff0c;尝试了各种方法都无法找回&#xff0c;听说借助文件恢复软件或许有机会找回重要的数据&#xff0c;大家有什么比较好用的文件恢复软件推荐吗&#xff1f;” 在数字化时代&#xff0c;电脑和各种存储设备对我们来说都是比较重要的&am…

安装MySQL

一、下载安装包 官网下载地址 二、下载完成打开程序自定义安装 1. 2. 3. 下一步 下一步 4. 5. 6. 输入密码123456 安装成功