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

2024-08-27 09:44

本文主要是介绍Qt_两种创建组件的方式-通过图形化-通过代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 一、通过图形化的方式,在界面上创建一个控件,显示hello world
    • 1.打开UI设计界⾯
    • 2.拖拽控件⾄ ui 界⾯窗⼝并修改内容
    • 3.构建并运行
  • 二、通过代码的方式,通过编写代码,在界面上创建控件,显示hello world
    • 在Widget构造函数里编写
    • 运行结果
    • 问题


一、通过图形化的方式,在界面上创建一个控件,显示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,将组件放入对象树中,会在合适的时候释放。

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

这篇关于Qt_两种创建组件的方式-通过图形化-通过代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1111316

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Vue和React受控组件的区别小结

《Vue和React受控组件的区别小结》本文主要介绍了Vue和React受控组件的区别小结,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录背景React 的实现vue3 的实现写法一:直接修改事件参数写法二:通过ref引用 DOMVu

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方

Redis实现高效内存管理的示例代码

《Redis实现高效内存管理的示例代码》Redis内存管理是其核心功能之一,为了高效地利用内存,Redis采用了多种技术和策略,如优化的数据结构、内存分配策略、内存回收、数据压缩等,下面就来详细的介绍... 目录1. 内存分配策略jemalloc 的使用2. 数据压缩和编码ziplist示例代码3. 优化的

Python 基于http.server模块实现简单http服务的代码举例

《Python基于http.server模块实现简单http服务的代码举例》Pythonhttp.server模块通过继承BaseHTTPRequestHandler处理HTTP请求,使用Threa... 目录测试环境代码实现相关介绍模块简介类及相关函数简介参考链接测试环境win11专业版python

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解