【QT】在窗口中添加按钮

在窗口中添加按钮

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

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

在窗口中添加按钮

添加头文件:#include

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

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

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

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

需要b2->show();

执行以后有bug

原因,窗口没有指定父类

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

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

c 复制代码
 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派生的,就不是窗口类

内存的回收机制

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

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

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

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

相关推荐
minglie1几秒前
Vitis HLS c转verilog
c语言·开发语言·fpga开发
她和夏天一样热4 分钟前
【实战篇】设计模式在开发中的真实应用
java·开发语言·设计模式
TheSumSt9 分钟前
Python丨课程笔记Part2:方法论进阶部分
开发语言·笔记·python
专业开发者12 分钟前
物联网应用的无线连接方案:状态监测
物联网
专业开发者15 分钟前
蓝牙 Mesh 网络为欧司朗智能照明系统开启了全新的无线时代
网络·物联网
微爱帮监所写信寄信15 分钟前
微爱帮监狱寄信写信小程序:深入理解JavaScript中的Symbol特性
开发语言·javascript·网络协议·小程序·监狱寄信·微爱帮
ss27323 分钟前
线程池工作机制:从任务提交到执行的完整决策流程
java·开发语言
syt_101331 分钟前
js基础之-如何理解js中一切皆对象的说法
开发语言·javascript·原型模式
yaoxin52112334 分钟前
276. Java Stream API - 使用 flatMap 和 mapMulti 清理数据并转换类型
java·开发语言·windows
特立独行的猫a37 分钟前
QT开发鸿蒙PC应用:第一个Qt Widget应用入门
数据库·qt·harmonyos·鸿蒙pc·qtwidget