【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派生的,就不是窗口类

在这里插入图片描述

内存的回收机制

  1. 整个窗口关闭的时候,窗口就要被析构。
  2. 而在析构之前,会先把它的孩子都析构掉,再析构它自己。
  3. 在进行构造的时候,肯定是父类先构造,再去构造的时候,先构造它内部的子类。子类构造完成,父类就构造完成。
  4. 析构的时候,先把所有的子类析构掉,才析构自己。
  • 8
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值