当前位置: 首页 > news >正文

QT初始(1)

一、认识QT的一些初始代码

1. Q_OBJECT
如果类要使用信号槽,就需要引入这个

2. Widget(QWidget *parent = nullptr);

这个是引入对象树的概念,即创建的 Qt 对象可以通过绑定父节点,从而加入对象树

3. Ui::Widget *ui这个则是和form file密切相关的,也就是可视化界面代码的桥梁。

4. ui->setupUi(this);设计文件准备好的界面,真正地“组装”并显示在窗口上。

1.对象树

对象树负责把内容组织起来,然后在合适的时机(如窗口关闭)将对象统一释放。因此推荐使用来开辟空间;如果放在上,对应的枝干可能会提前释放,导致界面中该控件消失

要点:

  1. 只有继承QObject的类才能加入对象树。

  2. 只有当对象需要被管理的时候,才应挂到对象树上。

  3. 父对象被销毁时,它会自动销毁其所有子对象(通过析构函数实现),无需手动释放。

2.字符集

Qt中如果使用cout的方式打印中文,大概率会出现乱码(因为cout默认使用本地编码,如 Windows 下GBK,Linux 下UTF-8;而 Qt 内部为 Unicode),因此可以采取 qDebug来代替cout

二、信号槽和ui的简单了解

2.1 信号槽

1.介绍

通过connect函数,可将一个对象发出的信号(如按钮的点击事件)与另一个对象的槽函数(即普通成员函数)关联起来。当用户触发该事件(如点击按钮)时,对应的槽函数会被自动调用执行。

// bool QObject::connect(const QObject *sender, PointerToMemberFunction signal, // const QObject *receiver, PointerToMemberFunction method); // 功能:将一个对象发出的信号连接到另一个对象的槽函数(或信号),实现对象间通信 #include <QObject> #include <QDebug> // 参数说明: // • sender :发出信号的对象指针(必须继承自 QObject) // • signal :指向成员函数的指针,表示信号 // • receiver :接收信号并执行槽的对象指针 // • method :指向成员函数的指针,表示槽(或另一个信号) // 返回值: // • 成功连接返回 true,失败返回 false

注意:

信号必须由发送对象所属类定义,槽通常作为接收对象的成员函数实现。例如,若使用一个按钮对象(如QPushButton),则其发出的信号(如clicked())只能是该按钮类及其父类所声明的信号;若槽函数属于主窗口(“桌面对象”),则该槽是窗口类的方法。

2.2 ui了解

在使用 Qt Designer 创建 UI 界面时,每个控件都会被赋予一个objectName属性。当.ui文件被编译为 Python 代码后,生成的 UI 类会将控件以该objectName作为实例属性名,从而允许在代码中通过ui.objectName的方式直接访问对应控件

三、QT坐标系

1.坐标种类

  • 数学坐标系(通常为右手坐标系):原点位于图形或空间的中心,x 轴向右为正,y 轴向上为正

  • 计算机图形坐标系(通常为左手坐标系):原点位于父窗口或画布的左上角x 轴向右为正,y 轴向下为正

2.move函数

#include <QWidget> // void QWidget::move( // int x, // int y // ); // 功能: // 将窗口部件(widget)移动到其父窗口或屏幕坐标系中的指定位置 // 对于顶层窗口(无父窗口),坐标相对于屏幕左上角 // 对于子窗口部件,坐标相对于父窗口部件的客户区左上角 // 参数说明: // int x: // 新的 x 坐标(水平位置) // int y: // 新的 y 坐标(垂直位置)

四、信号(上)

1.信号三要素

  • 信号源(Sender):发出信号的控件或对象;

  • 信号类型(Signal):由特定用户操作或状态变化触发的、对象所支持的具体信号。

  • 信号处理方式(Slot):用于响应信号的可调用对象(通常为函数或方法),本质上是一种回调机制。

2.槽和信号的图标

  • 信号

3.自定义槽

  • 自定义槽在 Qt5 及之后版本中本质上就是普通函数或方法,无需特殊语法;但在 Qt4 及更早版本中,必须将槽显式声明在public slots:protected slots:private slots:区域中,否则无法被元对象系统识别。

  • 若槽函数采用命名规范on_<对象名>_<信号名>(),且对应的控件已通过setObjectName()设置了匹配的对象名,则可以借助QMetaObject::connectSlotsByName()实现自动连接,无需手动调用connect()

4.自定义信号

  • 信号在语法上类似于函数声明,但其本质并非普通函数;它必须在类的signals:(Qt5 起)或Q_SIGNALS:(兼容宏)访问控制段中声明,才能被 Qt 的元对象编译器识别为信号

  • 信号的返回值必须为void,可带有参数,且支持重载

  • connect()的作用只是建立信号与槽之间的连接关系,它本身不会执行槽函数只有当信号被实际发射(emit)时,已连接的槽才会被调用。

  • 不过Qt5可以不写emit,因为全都装在信号函数里面了,但是为了可读性还是建议写。

  • 然后如果信号充当槽,那么相当于emit 这个信号(不管是内置还是自定义的)。

五、信号(下)

1.参数

  • 自定义信号和槽都可以携带参数,声明的时候可以不携带参数名,C++的规则

  • 在连接时,槽的参数个数不能多于信号的参数个数

  • 内置的信号有的也会携带参数,但是不是由我们传递。

2.信号槽的意义

信号与槽的解耦设计,核心目的是实现对象间的松耦合通信,并天然支持以下关系:

  • 一对多:一个信号可连接多个槽(广播事件);

  • 多对一:多个信号可连接同一个槽(统一处理);

  • 多对多:复杂场景下任意组合(如多个发送者触发多个接收者的不同响应)。

3.disconnect

  • 作用:取消信号和槽的关系

  • 参数:和connect一样

4.lambda表达式

  • 格式:【捕获列表】(函数参数){函数体}

  • 【】:里面放要捕获的变量,如果是=则捕获上一层作用域的所有变量,&则是在=的基础上捕获所用变量的引用(Qt不推荐)

六、QT安装包

链接:https://pan.baidu.com/s/1pwrYhDxSrjTa7GAQ9_NOQg

提取码:bite

http://www.jsqmd.com/news/985751/

相关文章:

  • 2026年效果最好的GEO服务商五强权威盘点:从技术到服务的全景对比 · 第 191 期
  • 芜湖市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 三大殿
  • 从零开始 - 在GitHub创建项目并上传代码
  • 10万QPS下,Redis缓存如何避免雪崩?
  • 海狮企鹅萌宠表演亮点与短板揭秘!动物技能出色,场馆环境待提
  • 多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
  • 2026武汉网站建设、网站设计、小程序制作公司推荐榜单 - 奔跑123
  • 西双版纳傣族自治州2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 三大殿
  • 第1章 认识鸿蒙元服务(零基础入门)
  • 辽源市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 干豆腐啊
  • 2026年6月变频器厂家TOP5综合评测:技术、选型与标杆企业全解析
  • N8N 工作流使用中转API 教程
  • 计算机小程序毕设实战-基于springboot+微信小程序的演唱会售票系统小程序【完整源码+LW+部署说明+演示视频,全bao一条龙等】
  • 微信搜一搜正在成为小程序最大的免费流量入口
  • 阿萨德test
  • 独立开发者最值钱的资产,是 1000 个忠实用户
  • 2026 岳阳厨卫屋面地下室漏水瓷砖空鼓测评:吉修匠 99.8 分五星榜首 - 吉修匠
  • 从0到1:阿里云宝塔面板部署SpringBoot+Vue能源管理系统保姆级教程
  • 116、飞控中的状态机设计模式
  • 2026年上海路面养护洒水车出租公司电话排名:高效降尘/绿化浇灌/工地清洁,专业租赁公司实力解析 - 企业推荐官【官方】
  • 063、NPU的YOLO加速:目标检测网络的硬件优化
  • ROS2 入门教程第一篇:配置 ROS2 环境
  • 襄阳市2026年本地上门黄金回收门店指南 彩金+铂金+金条+白银回收门店联系方式推荐 - 三大殿
  • 2026年最新5个免费字体下载网站合集,设计师速速收藏!
  • 2026年AI优化机构十强榜单揭晓:玖叁鹿GEO登顶行业榜首,浙誉翎峰科技、浙江玖叁鹿科技紧随其后 - 玖叁鹿
  • 【无标题】谁有这种移动网络代理IP 不要城域网的
  • 【docker】docker技术介绍
  • 鸿蒙新特性——TimePicker 与 TextClock 组件深度解析
  • AI时代普通人如何玩转企业级开发V2.0
  • 2026西安黄金回收避雷红黑榜:内行人深扒套路,怎么选才不踩坑? - 西安闲转记