大家好,欢迎来到IT知识分享网。
一、Qt的概述
Qt是一个跨平台的C++图形用户界面应用程序框架(GUI)。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。开发环境为Qt creator5.8.0,下载网址:http://download.qt.io/archive/qt/
二、创建工程
1、准备工作
(1)点击工具中选项
(2)设置编码格式为UTF-8
2、Qt窗口类型及关系
三种窗口QWidget、QMainWindow、QDialog之间的关系:
3、创建Qt工程
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图9 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5b080432be4a4098eca1f7bd7d2dcbd0.png)
工程文件:
widget.h头文件:
main主函数文件解释:
widget.cpp
4、设计Qt工程
(1)窗口
在主窗口及父类中有相应函数(在Qt助手中查看),通过调用它们实现窗口设计。
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图21 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d9f9ad5829c7a4fd0948e8eb008dc7e6.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图25 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5221488bfbd622d88aabbf70b522f9b5.png)
(2)按钮
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图31 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/ec8391bdac24aa81cc0dd9de2d4fc1af.png)
在QAbstractButton父类Qwidget中可以找到设置按钮的父对象函数
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图35 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2e7564afb1c375e370eaf48d8c713721.png)
三、对象树(对象模型)
定义:
Q0bject是以对象树的形式组织起来的:在创建 QObject 对象时,可以提供一个其父对象,我们创建 的这个 QObject 对象会自动 添加到其父对象的 children()列表。
当父对象析构的时候,这个列表中的所有对象也会 被析构。(注:这里的父对象并不是继承意义上的父类)
补充:
QWidget 继承自 QObject,因此也继承了这种对象树关系。一个孩子自 动地成为父组件 的一个子组件
我们可以自己删除子对象,它们会自动从其父对象列表中删除
所有的控件 尽量在 堆区创建
四、坐标体系
以左上角为原点(0,0),X 向右增加,Y 向下增加
五、信号和槽机制
1、概述
所谓信号槽,类似观察者模式:当发生了感兴趣的事件,某一个操作就会被自动触发。当某个事件发生之后,比如,按钮检测到自己被点击了一下,它就会发出一个信号(signal)。这种发出是没有目的的,类似广播。如果有对象对这个信号感兴趣,它就会使用连接(connect)函数,意思是,将想要处理的信号和自己的一个函数(称为槽(slot))绑定来处理这个信号。也就是说,当信号发出时,被连接的槽函数会自动被回调。
例子说明:
2、系统的信号和槽
查找QPushButton的信号Signal:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图47 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2affe3d0cad77b28d16f581a4c258c51.png)
构造代码:
3、自定义信号和槽函数
添加两个自定义类
定义信号:在关键字signals下实现
定义槽函数:在关键字public slots下实现
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图59 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/424fcda6c936d36ae3bf74b7d381a322.png)
构造函数:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图63 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cefd9e1aa062ba48057b13b619e2facb.png)
4、自定义信号和槽之间的有参传递
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图69 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cf55dbc7e12fe6a060bfecffc309f3c4.png)
Qt4方式构造:
运行结果:
5、信号和槽的注意事项
信号和槽函数返回值是void
信号只需要声明,不需要实现。槽函数需要声明也需要实现
使用emit在恰当的位置发送信号
一个信号 可以连接 多个槽 多个信号 可以连接 一个槽
disconnect关键字可以断开信号和槽的连接
槽函数的参数 要小于等于 信号的参数个数。
六、lambda表达式
Lambda表达式用于定义并创建匿名的函数对象,巧用Lambda表达式可以简化编程工作。
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图77 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/be6cbff411515604b4fbfe78ca37d0f8.png)
七、QMainWindow窗口
1、创建菜单栏并添加
//创建菜单栏 QMenuBar *menubar=new QMenuBar(this); //将菜单栏添加到主窗口指定位置 this->setMenuBar(menubar);
2、 创建菜单并添加
//创建菜单 QMenu *File=new QMenu("文件",this); QMenu *Edit=new QMenu("编辑",this); //将菜单添加到菜单栏 menubar->addMenu(File); menubar->addMenu(Edit);
3、创建菜单项并添加
//创建菜单项 QAction *New=new QAction("新建",this); QAction *Open=new QAction("打开",this); //将菜单项添加到新建菜单 File->addAction(New); File->addAction(Open); //批量添加编辑菜单 Edit->addActions(QList<QAction*>()<<New<<Open);//匿名对象链表模板并输入New和Open
4、菜单项间添加分隔符
5、建立菜单项信号槽关系
6、设置菜单项快捷方式
7、工具栏QToolBar
头文件:#include<QToolBar>
8、状态栏QStatusBar
头文件#include<QStatusBar>
9、中心部件
10、铆接部件
头文件:#include<QDockWidget>
11、添加资源文件-图标
打开当前工程文件:
在当前工程导入文件:
添加资源文件:
重新返回资源文件:
添加路径前缀:
添加image中图标文件:
构建资源文件:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图121 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/87ee701c8fedb56fbd37fed1867cf795.png)
给菜单项添加图标 :代表的是资源文件
八、ui文件
创建窗口时勾选创建界面即生成ui文件
双击进入ui界面:
改变按钮字体背景:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图135 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a244f29ad0d0c93876a80e502ae7b336.png)
界面编辑:
建立信号与lambda表达式关系:返回编写相应代码
建立信号与槽关系:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图145 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/0352710867bf8b243f06806c7d8c173d.png)
添加资源(步骤如前七中11小点)后为“新建”设置图标:
九、对话框
1、概述
很多不能或者不适合放入主窗口的功能组件都必须放在对话框中设置。对话框通常会是一个顶层窗口,出现在程序最上层,用于实现短期任务或者简洁的用户交互。
Qt中使用QDialog类实现对话框。就像主窗口一样,我们通常会设计一个类继承QDialog。QDialog(及其子类,以及所有Qt : : Dialog 类型的类)的对于其parent指针都有额外的解释:如果 parent为 NULL,则该对话框会作为一个顶层窗口,否则则作为其父组件的子对话框(此时,其默认出现的位置是 parent的中心)。的中心)。
顶层窗口与非顶层窗口的区别:顶层窗口在任务栏会有自己的位置,而非顶层窗口则会共享其父组件的位置。
2、分类
模态对话框:会阻塞同一应用程序中其它窗口的输入
- 使用QDialog: : exec()实现应用程序级别的模态对话框
- 使用QDialog: : open()实现窗口级别的模态对话框
非模态对话框:不会阻塞同一应用程序中其它窗口的输入
- 使用QDialog: : show()实现非模态对话框。
3、消息对话框QMessageBox
属于模态对话框,用于显示信息、询问问题等。
头文件:#include<QMessageBox>
错误对话框:当点击消息对话框时弹出错误信息,此时不能在主窗口操作–模态对话框
信息对话框:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图155 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3b25f0ffb10887ae0569879cbda96ef6.png)
4、文件对话框QFileDialog
头文件:#include<QFileDialog>
5、颜色对话框QColorDialog
头文件#include<QColorDialog>
6、字体对话框QFontDialog
头文件:#include<QFontDialog>
十、布局管理
Qt 提供的布局中最常用的三种:
- QHBoxLayout:按照水平方向从左到右布局;
- QVBoxLayout:按照竖直方向从上到下布局;
- QGridLayout:在一个网格中进行布局,类似于 HTML 的 table
新建wdiget工程随意放置三个按钮:
1、水平布局QHBoxLayout
2、垂直布局QVBoxLayout
3、栅格/网格局QGridLayout
十一、登录器
1、界面布局设计
2、设置输入框的密码模式
3、获取输入框的内容
QString usr=ui->lineEdituser->text(); QString pwd=ui->lineEditpwd->text();
4、设置输入框的内容
ui->lineEdituser->setText(""); ui->lineEdituser->setText("");
5、创建登录后页面
6、跳转到新页面
7、设计从新页面 回到 主页面功能
十二、常用控件
1、Qlabel标签
用于显示文本、显示图片、显示动画。
(1)显示文本
设计界面,按钮转到槽函数后编写相关代码实现文本修改:
点击修改文本按钮后文本改变
(2)显示图片
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图209 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a1d1344891850506edcc7e63b22210e8.png)
(3)显示动画
2、单选框QRadioButton
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图227 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/71351ee8a6b371d24a18d13ff97b80fd.png)
3、复选框QCheckBox
头文件:#include<QCheckBox>
状态改变信号:
三种state状态:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图233 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5d293731a8286a9cf1256a81855fb16f.png)
4、下拉列表框QComboBox
头文件:#include<QComboBox>
5、列表控件QListWidget
6、树控件QTreeWidget
7、表格控件QTableWidget
8、工具盒容器QToolBox
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图255 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2ba15438a3850baa9ecd8ca18800368d.png)
9、tab widget容器
10、stacked Widget栈容器(局部更新页面)![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图263 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
初始默认只有两个页面,再添加一个页面:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图265 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/8494c831d09e2dba9e463cd7d155eaae.png)
在新的ui中利用QLabel添加相应图片:
在相应页分别做提升:
在widget.cpp中建立信号与槽机制:
11、自定义控件
(1)定义
在一个项目中很多窗口,或者是窗口中的某个模块会被经常性的重复使用。一般遇到这种情况我们都会将这个窗口或者模块拿出来,做成一个独立的窗口类,即自定义控件,以备以后重复使用。
(2)创建自定义控件
添加新的窗口制作自定义控件:
利用容器将自定义控件放入主窗口:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图291 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5bdf754d84dd1991e5ff7ef1b48528ec.png)
运行结果:
(3)建立信号与槽机制
在myWidget构造函数中实现:
(4)自定义控件提供接口
十三、Qt的事件
1、概述
事件(event)是由系统或者Qt本身在不同的时刻发出的。当用户按下鼠标、敲下键盘,或者是窗口需要重新绘制的时候,都会发出一个相应的事件。一些事件在对用户操作做出响应时发出,如键盘事件等;另一些事件则是由系统自动发出,如计时器事件。
Qt中所有事件类都继承于QEvent,event()函数并不直接处理事件,而是按照事件对象的类型分派给特定的事件处理函数。
创建Widget窗口并编辑窗口:
添加新文件MyLabel继承QLabel(用于重写事件函数):
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图323 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/77f5569bf57e8de855da483807f1a93f.png)
2、重写鼠标事件
对QLabel做提升:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图337 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/8e514168316d73840efd7103fe9d19c9.png)
3、参数QMouseEvent *ev和鼠标追踪
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图345 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/460fee940bad25d1ede1fdbaea18f971.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图349 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e14ff31b622029c7e3df2afed122d710.png)
4、事件分发器
event()函数主要用于事件的分发。所以,如果你希望在事件分发之 前做一些操作,就可以 重写这个 event()函数。
如果传入事件分发器的事件已被识别并且处理,则需要返回 true,否则返回false.。如果返回值是 true,那么 Qt 会认为这个事件已经处理完毕,不会再将这 个事件发送给其 它对象,而是会继续处理事件队列中的下一事件。
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图365 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9a00ae5a4415bd93ca767d4cb6d39dd0.png)
5、事件过滤器![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图375 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%200%200'%3E%3C/svg%3E)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图377 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/39bdfa9129d6a106471ccda76a253db4.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图379 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/82ac6ec246ed64a7c91fd59bf801934f.png)
在mylabel.cpp中实现:
十四、定时器
1、定时器事件 触发定时
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图387 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/21bd79ee5024246f6a8afaf8380b9d44.png)
创建新的widget工程并添加两个label控件:
2、定时器对象 触发定时(可控)
添加如下控件:
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图399 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/585b4bafbc199e1fe82dc2de7cd31003.png)
3、定时器静态函数 (触发定时)(延时启动一次)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图403 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/45411cb400629b5e4484acd0b09a0fd3.png)
在widget.cpp中编写延时代码并运行:
十五、Qt绘制背景图片
1、概述
Qt的绘图系统允许使用相同的 API在屏幕和其它打印设备上进行绘制。整个图系统基于QPainter,QPainterDevice和 QPaintEngine三个类。
- QPainter用来执行绘制的操作;
- QPaintDevice是一个二维空间的抽象,这个二维空间允许QPainter在其上面进行绘制,也就是QPainter 工作的空间;
- QPaintEngine提供了画笔(QPainter)在不同的设备上进行绘制的统一的接口。
2、绘制背景图片
在窗口上 绘制图片需要重载widget的绘图事件:
void QWidget::paintEvent(QPaintEvent *event);
窗口加载、update都会调用 paintEvent绘图事件:
创建新的ui工程并添加重载函数:
添加资源文件:
在widget.cpp中实现:
3、切换背景图片
添加按钮:
在widget构造函数中利用按钮调用updata函数触发绘图事件:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/113320.html
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图1 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7c8d0f9cee821fbdf170fed90ea7d7a3.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图3 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d0a0217e2b453051aeae3460920284c2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图5 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/8ab38fb069e62fb24b525de05948180b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图7 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/8dbf70923d963158c13dba962099caa2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图11 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/50edc694fbc3d8c93447b0625847084d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图13 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5f51b4e8232b9f7c547f00532f33545e.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图15 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/41db7680b1932b69bb40b71c18f69687.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图17 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/4548076cbfc41292ac2535d391635284.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图19 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/dea101c363aef83f79f7c5464c3a333f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图23 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/23800e172e048fb8b9e833d5b41f1545.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图27 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9212105ba6380bab57787d570bf1322b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图29 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/027c0a30a9957f14776d2144b59d1a3e.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图33 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a1e03cd0886b59de28b147274f2b694e.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图37 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/db2085cc021a6cf4123449651912757c.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图39 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2369d6cdae45d2862d5d199d9aff534d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图41 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c01358dbffd3aa1eadf684fc49ac6e99.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图43 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/adda4791c5ad080c65872d63a019d1c5.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图45 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c9f6b1a703798e9043e7a3c0d0ae2bd2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图49 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/83dde21b2752c874fd0678e142e90436.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图51 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/dbdfd86c0701ed351a4097a44ed7cd46.png)
3、自定义信号和槽函数![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图55 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/380c27f4fa2837417ed6a8f0f03335d0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图57 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b89c12687dc42eb3c53956358b879e4f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图61 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e663b03e31bf902e4fa47ea4854c89dd.png)
4、自定义信号和槽之间的有参传递 ![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图67 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/f87d14283d9e74984b257796c0e7d162.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图71 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c3d75b591b1fa181775256c6cadd6cd0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图73 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/dcc1c87713267da90ef71371cfb43fe4.png)
5、信号和槽的注意事项![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图79 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9a082c97928584941fe38ecb89e094ac.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图81 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/ef9eef17fd761688ab92769f01e3db60.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图83 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/04e829e30f2b0a671c31e3660c4d9502.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图85 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b5995b6c811f163841aef9d69dc9483b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图87 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cf74c4fa2e72c712db4d71f146132db2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图89 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c77bbf27c54197ce0dc50ba38a79a0af.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图91 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/71bbac84edc5ebd5781999865b1178f2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图93 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b9655ed86f9b4797f1df81337ccd33ce.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图95 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d1dac706c52a18b228d7fa3035fc4382.png)
8、状态栏QStatusBar![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图99 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9f0afe6b59b58669cdb6aac28770812c.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图101 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a0ca22c079b43469955a5f8e0f760b58.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图103 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a8c2dabed15a26d59695c8f4a8861045.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图105 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/602bdb6404414761e5f0629f8f0227f6.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图107 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/6d2e168c93bb6e53873bbb7fb63b8fc0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图109 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3554e82e9f303640363693cbd6320ed1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图111 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1f62802aa4a7abc58ad00a9cd9002dab.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图113 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/730fd7688a721748840543711056e835.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图115 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/738355fd7e69b0c91bfd4cb71ca46296.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图117 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/38b4158db7efd8b69e4a741fcb0c891d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图119 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3ee436e5490460933d52c9c22b33f041.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图123 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/87fad8d0db465d082eb914921a94a60d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图125 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9b7251729ab82a4a0babb30042b56386.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图127 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2214d4e1d877342bec04d87c13fd76cf.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图129 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/539ad64c8e878e5114778b6e119c4978.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图131 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/ec1dd2a00b044924d0fabacfd1a10785.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图133 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/105e841fae2b6badca127c7ae5fe580c.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图137 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b9139909a6da891331539812930f7832.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图139 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/21d3b53c4f2635d383e4cfef57823e5a.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图141 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/932555f1e552be93004262631614080b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图143 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/de40d6c1471d9de2863fb700f91d4e0f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图147 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cd1228256c121d027edbb5e3f0b11212.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图149 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/416e7fdb1c07af1d988fb32ff82d8e9e.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图151 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cb31f1326f3532f03668da183e9d3262.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图153 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/0ab7f2e28196b96951cce18e809c1ff9.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图157 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e4dcb6c58aa2c6572c0f5506b095ecf7.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图159 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/6f00740523d75472e6e442f68db2eec5.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图161 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/35c4450813b71ad5230f9acd468d6058.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图163 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d462172f84237dd2c37d1fdc5c3aa225.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图165 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a9790f47ee9bb1d97831d2603be217b1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图167 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/94a4857e3391527e214ded7427ee7ee7.png)
6、字体对话框QFontDialog![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图171 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/39a701c16c408c82f92d06018dbbc3a4.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图173 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a0c46a874768ec18606de971d88a1174.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图175 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cb82e064aae3dfa15ffc23ee19a75863.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图177 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/f5471ada9f3b4e130f23787b840ef8e6.png)
3、栅格/网格局QGridLayout![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图181 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c9acbaa0f839f08054590c74c08c1716.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图183 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/0d16d29a895d679a78cd511473fcb0f9.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图185 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/813c3dac2551ddcd96dbdb64971cc3c8.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图187 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cd966b6950d9284aff494cb6967c1591.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图189 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/f80e91cdc83475e0b6e99b6096184352.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图191 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9c8275363db16bd9d889ff6abfe0122e.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图193 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1ed5535e88133ef75654e82106b50e5f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图195 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3da9e5d1471eabe0a1ac9bdaa445f004.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图197 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1fd6d6972da595fe7a193bbe8384884b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图199 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9ca87f1ff34cfaf2cb97cc6cd9130af7.png)
十二、常用控件![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图203 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/514d477de88b6410b91b66056463308b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图205 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/bc34c2be51c18a99cd83cd3aba202945.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图207 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1cfb3fe990c211f7606c30dd9942fd5c.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图211 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/07fb25e4a5278b5ff43dc6282df65bf7.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图213 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/f73c5926267afc4cc27b29812191a83b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图215 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/0fd0a34fbba83a37e06e3c98ea9299ce.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图217 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3c13d718cb4df9a15548f605b55f3113.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图219 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9b50befda3a16319af46d124da430cd2.png)
2、单选框QRadioButton![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图223 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/bc3b96493d7f53e546f8427638e39e48.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图225 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/42dade4446d1909988fdce2ae52a2273.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图229 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d9f262bbf2b3301681b339ec942a7008.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图231 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c6882ca01430f1224e2267f8f3758120.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图235 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/500677aa8f448551d333310a3b2c96e3.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图237 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a3ca3cf0aee6dc41d1752f120e61d3b8.png)
5、列表控件QListWidget![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图241 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/211cc229aae32df77ec9a4c156ac7acd.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图243 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/83094d888c32ef5cf51d0591605061df.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图245 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7d9673b59339d1bc736821f8a8946405.png)
7、表格控件QTableWidget![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图249 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/03e2a80871a35536e21b2367e9c4aefe.png)
8、工具盒容器QToolBox![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图253 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/420d9a76c81772de76472e0d83050d22.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图257 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a60aa559d5e231dd5ca6210d64fafa10.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图259 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/8323359420b9bd986e555ec741b21abe.png)
10、stacked Widget栈容器(局部更新页面)![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图263 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b861172508296722c9e56a8b84f42391.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图267 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/53d9f0f63e82c9c60c03f06bdeca3b6b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图269 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b8a024021dc7a3fbe4e319d484d24cb2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图271 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/5702bed637b68e8cedf86f87a12501b2.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图273 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9619b75c6b87764ef9436722f0403b73.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图275 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7f80aa71e0979f05679f6d8cfef59b33.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图277 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c53e68e92db0c695d4b9b307fb6f213f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图279 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/ba0fcb0e5dac0c9b2e01e0a1887a08da.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图281 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/383ec886318d5011543b613e2fcbf1cf.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图283 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/696c6db509c2602dcc3223b99bd8093b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图285 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3389d37d36fd8c8a715934133b3cea7b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图287 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a6732bb35fc0c46ee1645a7239f7b187.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图289 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/971fab23abbeacd061113bfbfc499a97.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图293 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/46cb53280d923cc80c9de4cc09a87b1b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图295 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/a6cb8f31a8050148e829d27a3feb97e1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图297 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e33d8b64d88ed0a24b7e09c41b126585.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图301 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e25384f209d1f114b02f3a007c906584.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图303 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/10875e7d0d9ad80d58ee8dbca0d1ff95.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图305 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/f732c6ea481401ef4b608f4379363c07.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图307 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7cf484e366d98611dc918c2c99716698.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图309 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/12a0149dd4bf59e1765791ae76d9c8eb.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图311 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/24443801342bafe306809f8d23b7da42.png)
十三、Qt的事件![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图315 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/37775c3ee7898599c6bd55a68503f5b0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图317 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/149398aef63467e6bb4ddf2f4cb4c42f.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图319 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/614ec046acbdb9de163d6adb518f7b13.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图321 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d7b959041b045a15686fa108ef6b62b6.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图325 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d33672506280b65f8eaa6efa46311dcc.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图327 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e0e400b11cc4ea283bbc6996e78dabc1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图329 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c816906a1383db66168f695ffed7a768.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图331 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/247bf270da1cc5d7c440c4af833017f6.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图333 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3d05d77549074c80c4a373b9793c25f1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图335 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/87dec55c477f330947b321b10c024da0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图339 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e78f68771a44049fbe7bed29c9de662a.png)
3、参数QMouseEvent *ev和鼠标追踪![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图343 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1afe8f73dc1e5fa200bb4087cdd1a4e3.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图347 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/d7a64a10fc8e31b8d215c8df3644b6a1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图351 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/00c29b885b0339fdeddb2485fb40e895.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图353 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/711ad71c1f0cf5a4694fa6437dab52cc.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图355 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/b9226a5d41e12d0d999377fc41cd46a7.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图357 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7490a868d96805ef919fb4d2c17d5398.png)
4、事件分发器![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图361 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cc2914b7ed6a640cb9564f2afb2512b5.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图363 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/4002083d6622ac1eb91e2260e53ac1a9.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图367 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/88c52492e35407b2dacd9f4dca00082d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图369 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/7ca5eb1136d445bbb5e31c9899ddcf44.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图371 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/aca25c703de4ab4cd781fb93097b6cb0.png)
5、事件过滤器![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图375 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/0251cb719785db2fbd6f8a38f692399b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图381 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2e3e71a73dc0fe893f070c26bebfbae1.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图383 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/3d00010f0f604421458f0aa2c2571aef.png)
十四、定时器![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图389 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/84fc111431271aef6aae3b25a2a74981.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图391 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c9c544ec0fbb34641a9b64806571473b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图393 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/bf12ff49e35f5bd877346667b1fbaaac.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图395 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/1c5486314085f0c3eacd503afb11ea8b.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图397 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/e889bf2617c9ebbb01a8eaa82b70f701.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图401 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/9e1a935d32146f1683d3a5575a6e0b64.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图405 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/cbf82b5215f57a27333a136242231c80.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图407 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/ccf9b1d0817d273247d55b8f2f54c700.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图409 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/295f1dc8d4e524d14398fc92eb1d5217.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图411 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/eca0bb925c9ecbb7f124762b30be7859.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图413 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/fda51224353a527f64aeea8eb1eebc9d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图415 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/faf76c264e51776db6401e19cb1d49a7.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图417 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/c148f38e24c10af4232419e61b082ca0.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图419 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/bd045045fe3f7225e65cf16c23a17cea.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图421 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/93d10bad9865f636f1bb27418086ff3d.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图423 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/2638cf02e8b9ca596b50584a31c6e866.png)
![[Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能插图425 [Qt]Qt框架解析:从入门到精通,探索平台开发的无限可能](https://i-blog.csdnimg.cn/blog_migrate/82e04c66e814b27caf6cd96d46df9289.png)