Qt创建按钮及内容-02

一、创建按钮及对应的内容

1、添加的代码一般都是写在源文件中对应的构造函数中
【注】有的时候new的控件不显示,要注意是否在构造函数中new的,在其它函数如自定义的函数中创建的控件需要调用show()才能显示。

/*
 * 在应用程序上创建一个按钮
 * 一般代码会写在构造函数中
*/

#include "mywidget01.h"
#include<QPushButton> //要添加包含对应控件的头文件

myWidget01::myWidget01(QWidget *parent)
    : QWidget(parent)
{
    /* 第一种方式创建按钮 */
    //创建一个按钮,即new一个对象
    QPushButton *btn=new QPushButton();

    // 显示该按钮,不应该使用show函数,因为show函数是顶层方式弹出控件
    // 在此希望按钮是依附在窗口上,所以需要将该窗口设置为按钮的父对象
    btn->setParent(this);

    // 为该按钮添加文本内容
    btn->setText("The First New Button");

    /* 第二种方式创建按钮,更加简洁方便,但该方法窗口大小会
     * 随着控件的大小变化,所以需要设置窗口尺寸 */
    QPushButton *btn2=new QPushButton("The Second New Button",this);
    btn2->move(100,60); //设置按你的坐标位置
    //设置按钮的大小
    btn2->resize(160,50);
    //设置的窗口大小,用户可以通过拖动来进行动态调整
    resize(600,500);

    //设置窗口大小固定值,不可以调整
    setFixedSize(600,500);

    //设置窗口标题
    setWindowTitle("应用界面");

}

myWidget01::~myWidget01()
{

}

2、运行结果如下
在这里插入图片描述


二、关于new对象的释放问题:对象树

1、对象树
QT中可以通过对象树来管理new对象的释放。在创建QObject对象的时候,会看到QObject的构造函数接收一个QObject指针作为其参数,这个参数就是parent,也就是父对象的指针。
相当于在创建QObject对象时,提供其父对象,并且QObject对象会被自动添加到父对象的children()列表中。当父对象析构的时候,这个列表中所有对象都会被析构。(注:在此父对象不是继承意义上的父类)。
在这里插入图片描述
2、自定义按钮类
1)、首先添加新文件
在这里插入图片描述

2)、选择C++ class
在这里插入图片描述
3)、自定义类名,并选择基类为QWidget
在这里插入图片描述
4)、修改对应类的头文件和源文件
在这里插入图片描述
让头文件包含和继承自QPushButton
在这里插入图片描述
在源文件中添加调试信息
在这里插入图片描述
用自定义的类来创建按钮
在这里插入图片描述
运行结果如下:
在这里插入图片描述
调试信息如下:
在这里插入图片描述
【注:在此都是只有new而没有delete释放,是由于对象树中会自动释放其孩子列表中的对象】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值