【Qt】对象树与坐标系


需要云服务器等云产品来学习Linux的同学可以移步/-->腾讯云<--/-->阿里云<--/-->华为云<--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。


目录

 一、Qt Creator快捷键

二、对象树

1、对象树的析构

2、自定义类的编写

三、使用控件显示hello world

1、QLineEdit(单行文本输入框)

2、PushButton(按钮)

两种控制控件的方式

四、Qt窗口坐标体系


 一、Qt Creator快捷键

• 注释:ctrl + /

• 运行:ctrl + R

• 编译:ctrl + B

• 字体缩放:ctrl + 鼠标滑轮

• 查找:ctrl + F

• 整行移动:ctrl + shift + ⬆/⬇

• 帮助文档:鼠标定位+F1

• 自动对齐:ctrl + i

• 同名之间的 .h 和 .cpp 的切换:F4

• 生成函数声明的对应定义: alt + enter

• ctrl +鼠标左键跳转定义 ,Alt+⬅️跳转回来

二、对象树

1、对象树的析构

QLabel* label = new QLabel(this);

因为对象树,上述代码不主动调用delete,label对象在窗口关闭的时候会被析构释放。

如果这个变量是在栈上创建的,就可能出现“控件被提前释放的问题”,这也是Qt喜欢在堆区申请空间的原因。

2、自定义类的编写

编写一个自定义类,需要在其构造函数中,指定父对象,这样通过自定义类构造的对象才会被挂到对象树上。(如果对象没有挂到对象树上,就必须手动释放资源,防止资源泄漏)

通过继承Qt内置的类,就可以达到对现有控件功能进行扩展。(继承后重写类方法)

三、使用控件显示hello world

1、QLineEdit(单行文本输入框)

2、PushButton(按钮)

代码中通过这个objectName来对控件进行控制。(ui->objectName来控制)

void Widget::HandleClick()
{if (ui->pushButton->text() == QString("hello world")){ui->pushButton->setText("hello qt"); // 点击按钮后,变为hello qt}else {ui->pushButton->setText("hello world"); // 点击按钮后,变为hello world}
}

两种控制控件的方式

四、Qt窗口坐标体系

坐标体系:以左上角为原点(0,0),X向右增加,Y向下增加。

Qt某个控件的坐标原点,由其父控件决定:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/635997.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原文链接】Tri-Perspective View for Vision-Based 3D Semantic Occupancy Prediction

原文链接&#xff1a;https://openaccess.thecvf.com/content/CVPR2023/papers/Huang_Tri-Perspective_View_for_Vision-Based_3D_Semantic_Occupancy_Prediction_CVPR_2023_paper.pdf 1. 引言 体素表达需要较大的计算量和特别的技巧&#xff08;如稀疏卷积&#xff09;&…

python开发之远程开发工具对比

前言 除了本地开发外&#xff0c;还有一种常见的开发方式就是远程开发&#xff0c;一般情况是一台Windows或mac笔记本作为日常使用的电脑&#xff0c;另有一台linux服务器作为开发服务器。开发服务器的性能往往较强&#xff0c;这样远程开发的方式一方面可以让我们在习惯的系统…

组件(Component):可重用的元素

目标效果&#xff1a;点击粉色按钮后&#xff0c;出现一行“为什么非要点我&#xff1f;”的文字。 用组件的方式实现&#xff1a;首先单击项目文件夹01&#xff0c;然后右键弹窗中点击“添加新文件” 。 选择 QML File 文件&#xff1a; 文件名就叫Button&#xff0c;然后把代…

QoS简介

QoS产生的背景 网络的普及和业务的多样化使得互联网流量激增&#xff0c;从而产生网络拥塞&#xff0c;增加转发时延&#xff0c;严重时还会产生丢包&#xff0c;导致业务质量下降甚至不可用。所以&#xff0c;要在网络上开展这些实时性业务&#xff0c;就必须解决网络拥塞问题…

Three.js 学习笔记之模型(学习中1.20更新) | 组 - 模型 - 几何体 - 材质

文章目录 模型 几何体 材质层级模型组- THREE.Group递归遍历模型树结构object3D.traverse() 模型点模型Points - 用于显示点线模型Line | LineLoop | LineSegments网格模型mesh - 三角形网格模型独有的属性与方法 几何体BufferGeometry缓冲类型几何体BufferGeometry - 基类创…

基于SSM的KTV包厢管理系统(有报告)。Javaee项目,ssm项目。

演示视频&#xff1a; 基于SSM的KTV包厢管理系统&#xff08;有报告&#xff09;。Javaee项目&#xff0c;ssm项目。 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过…

Linux 查看命令有哪些?区别是什么(2023-12-27)

参考文章 linux中ls、cat、vim、more、head、tail、grep同是查看命令&#xff0c;他们之间到底有什么区别&#xff1f; - 知乎 linux中ls、cat、vim、more、head、tail、grep同是查看命令&#xff0c;他们之间到底有什么区别&#xff1f; 1、ls ls&#xff08;英文全拼&…

使用 mybatis-plus 的mybaits的一对多时, total和record的不匹配问题

应该是框架的问题&#xff0c;去官方仓库提了个issues&#xff0c;等回复 https://github.com/baomidou/mybatis-plus/issues/5923 回复来了&#xff1a; 背景 发现 record是两条&#xff0c;但是total显示3 使用resultMap一对多时&#xff0c;三条数据会变成两条&#xff0…

J4 - ResNet与DenseNet结合

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 环境模型设计模型效果展示总结与心得体会 环境 系统: Linux语言: Python3.8.10深度学习框架: Pytorch2.0.0cu118显卡&#xff1a;GT…

高速CAN总线 C 或 B 节点发送 A节点接收 电压分析

CAN收发器放大图 CAN总线3节点框图&#xff0c;如下图 图① CAN总线 C 节点发送&#xff0c;B 节点接收简化后的逻辑框图如下图。 总线上 A B C 三个节点&#xff0c;按照CAN总线规定&#xff0c;首尾 A B 两个节点处需要接入1个120Ω的终端电阻&#xff0c;如下图&#xff1a…

Pytest系列(2) - assert断言详细使用

前言 与unittest不同&#xff0c;pytest使用的是python自带的assert关键字来进行断言assert关键字后面可以接一个表达式&#xff0c;只要表达式的最终结果为True&#xff0c;那么断言通过&#xff0c;用例执行成功&#xff0c;否则用例执行失败 assert小栗子 想在抛出异常之…

重学Java 10 面向对象

正是风雨欲来的时候&#xff0c;火却越烧越旺了 ——24.1.20 重点 1.为何使用面向对象思想编程 2.如何使用面向对象思想编程 3.何时使用面向对象思想编程 4.利用代码去描述世间万物的分类 5.在一个类中访问另外一个类中的成员 -> new对象 6.成员变量和局部变量的区别 一…

力扣刷MySQL-第六弹(详细讲解)

&#x1f389;欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克&#x1f379; ✨博客主页&#xff1a;小小恶斯法克的博客 &#x1f388;该系列文章专栏&#xff1a;力扣刷题讲解-MySQL &#x1f379;文章作者技术和水平很有限&#xff0c;如果文中出…

Maven error in opening zip file?maven源码debug定位问题jar包

文章目录 问题发现调试Maven1. 查看maven版本2. 下载对应版本的maven源码3. 打开maven源码&#xff0c;配置启动选项 启动maven debug模式进入maven 源码&#xff0c;打断点调试找jar包算账 已录制视频 视频连接 问题发现 最近使用maven分析jar包的时候遇到了一个很搞的问题。…

PSoc62™开发板之i2c通信

实验目的 使用模拟i2c接口读取温湿度气压模块BME280数据 实验准备 PSoc62™开发板温湿度气压模块BME280公母头杜邦线 板载资源 本次实验是通过模拟i2c时序的方式来进行通信&#xff0c;理论上可以有非常多的方式配置i2c引脚&#xff0c;不像硬件i2c那样芯片出厂引脚已经固…

Summary for Packaging and Assembly Technologies for Integrated Systems

目录 Introduction Type of Packages: Packaging of integrated devices Question 1: Question 2: Question 3: Question 4: Question 5: Report 1: Front-end and back-end process Question 6: Question 7: Inspection Process Report 2: Prototyping and mas…

【谭浩强C程序设计精讲 chap4】选择结构程序设计

文章目录 第4章 选择结构程序设计一、用 if 语句实现选择结构二、用 switch 语句实现多分支选择结构三、条件运算符和条件表达式 第4章 选择结构程序设计 一、用 if 语句实现选择结构 一般形式&#xff1a; if (表达式)  语句1 [ else  语句2 ] 其他形式&#xff0c;常用的…

web前端项目-3D台球游戏【附源码】

3D台球 【3D台球】这款游戏的操作简洁明了&#xff0c;玩家只需要简单的练习两分钟便能够掌握。玩家需要用鼠标控制击球的方向和力度&#xff0c;将白球打进洞中。每次进球后&#xff0c;玩家需要选择下一个要击打的球&#xff0c;直到所有的球都打进洞中。但要注意避免黑球进…

【Unity】URP报错Object reference not set to an instance of an object

使用URP之后&#xff0c;Unity报错&#xff1a;显示不正常 NullReferenceException: Object reference not set to an instance of an object UnityEngine.Rendering.Universal.UniversalAdditionalCameraData.get_cameraStack () (at Library/PackageCache/com.unity.render-p…

Flink实时数仓同步:拉链表实战详解

一、背景 在大数据领域&#xff0c;业务数据通常最初存储在关系型数据库&#xff0c;例如MySQL。然而&#xff0c;为了满足日常分析和报表等需求&#xff0c;大数据平台会采用多种不同的存储方式来容纳这些业务数据。这些存储方式包括离线仓库、实时仓库等&#xff0c;根据不同…