Qt_两种创建组件的方式-通过图形化-通过代码


一、通过图形化的方式,在界面上创建一个控件,显示hello world

1.打开UI设计界⾯

双击 widget.ui ⽂件:
在这里插入图片描述
UI设计界面:
在这里插入图片描述

2.拖拽控件⾄ ui 界⾯窗⼝并修改内容

在这里插入图片描述

3.构建并运行

按下运行键:
在这里插入图片描述

在这里插入图片描述

二、通过代码的方式,通过编写代码,在界面上创建控件,显示hello world

一般通过代码来构造界面的时候,通常会把构造界面的代码放到Widget/mainWindow的构造函数中
在这里插入图片描述

在Widget构造函数里编写

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    
    //代码创建组件:
    //创建对象的两种方式:堆上创建,栈上创建,推荐堆上创建
    //栈上创建对象
    //QLabel label(this);
    //堆上创建对象
    QLabel* label = new QLabel(this);//此处的this是给当前这个label对象,指定一个“父对象”
    label->setText("hello world");//设置内容
}

运行结果

在这里插入图片描述

问题

  • 上面的代码,在堆上创建对象,没有释放会不会造成内存泄漏
    不会,因为 QLabel* label = new QLabel(this); 这里的this,将组件放入对象树中,会在合适的时候释放。

  • 为什么要用对象树
    使用对象树,把界面要显示的这些控件对象都组织其起来,最主要的目的,就是为了能够在合适的时机把这些对象统一进行释放

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值