Qt图形用户界面程序开发

Qt图形用户界面程序开发 教材名称: Qt图形用户界面程序开发
ISBN号: 978-7-89535-423-4 作者: 王治强
字数: 374千字 规格:
印制时间: 2025-02-01 出版日期: 2025-02-01
定价: 42 元 样章下载: Qt图形用户界面程序开发.pdf
购买地址:

智能硬件、物联网、新能源汽车行业的兴盛,使得做电子设备开发,尤其电子设备中的软件开发——嵌入式软件开发成为IT行业中日益火热的方向。在学习嵌入式软件开发这条路上,无论是基于CotexM单片机的软件开发,还是基于CotexA的嵌入式Linux系统的软件开发,仍然依靠着20世纪70年代兴起的C语言来完成从底层硬件电路到上层软件功能需求的过渡。因此,嵌入式C语言占据着嵌入式开发的核心技能地位。
C语言虽然在处理底层硬件驱动,在性能有限的芯片中可以显露其优越的效率优势,然而C语言在处理人机交互,尤其基于图形界面的人机交互环节上就显得力不从心。其中的原因是,软件越上层越接近用户,就越需要体现应用的多样性,从而就造成软件规模的迅速膨大,这就显出面向过程的C语言的短板了。尤其随着时代发展,用户对人机交互界面提出了更高的要求,而基于C语言开发的界面往往不美观,很简陋。因此必须采用更高级的面向对象语言,图形窗口化的人机交互方式,又要支持丰富的界面样式设置,可以进行2D/3D绘图,支持各种网络通信,为了让软件具有对不同硬件平台的适应性,还要具备跨平台特性。带着这种需求,我们最终找到了Qt。
Qt是一款很优秀的图形界面系统,它恰好满足上面所有的特性,Qt基于C++面向对象语言,对于以C语言为中心嵌入式开发的人员来说更容易学习,在不同层次软件之间也更容易结合。并且,Qt具有良好的跨平台特性,可以一次编码到处运行,针对各种不同平台都有良好支持与一致性的开发体验,在全世界范围内都具有非常广大的开发者群体。随着2012年Qt脱离诺基亚重回初心,从Qt5到Qt6进入了快速发展期,如今已能在极低的性能、功耗、成本代价下,在单片机上实现可滑动的流畅人机界面。未来Qt在汽车、小型家电等领域,有着很让人期待的发展前景。
Qt在中国也一直有着很好土壤,对于一般开发者,其开源免费的特性也深受政府、企业、教育行业的青睐。对于开发者而言,Qt很容易上手,一旦掌握其设计规则,就可以很轻松进行自我学习,有着很好的学习曲线。
我们作为高校教育工作者,在面向电子类专业选择一款合适的图形界面开发技术时,也是经历了反复调研论证,走访了多家在行业中具有代表性的企业,确保学生所学的知识是符合行业需要的,在就业的时候可以直接派上用场。
本教材的编写工作,由我们教研组三位有多年企业嵌入式研发背景,也有多年教学经验的老师完成的。为了与行业发展紧密结合,还邀请了嵌入式研发领域具有代表性的企业资深工程师联合编写。该企业与Qt中国原厂有很密切的合作关系,对Qt在国内外市场的应用情况具有很权威的认识,可以很准确、很有前瞻性的提出企业对Qt开发人才的需求。
 
第1章图形用户界面和Qt简介1
1.1认识图形用户界面1
1.2常见图形界面开发工具3
1.2.1桌面终端应用程序开发3
1.2.2移动终端应用程序开发5
1.3Qt简介7
1.3.1Qt的历史7
1.3.2Qt的特点8
1.3.3Qt的行业应用8
1.4Qt开发工具简介10
1.4.1Qt设计工具10
1.4.2Qt开发工具10
1.5课后练习11
第2章安装环境及Hello World程序12
2.1Qt Creator安装12
2.2Qt Creator使用说明19
2.3Hello World程序编写24
2.3.1创建Qt Widget应用24
2.3.2创建项目手动编写程序30
2.4Qt程序结构32
2.4.1项目配置文件33
2.4.2C++头文件34
2.4.3C++源文件34
2.4.4UI界面文件35
2.4.5项目路径结构36
2.5程序调试38
2.5.1QDebug打印日志38
2.5.2调试模式39
2.6程序发布40
2.6.1设置程序图标40
2.6.2生成程序发布包41
2.7课后练习44
第3章窗口与对话框45
3.1基本窗口类型45
3.1.1QWidget基本窗口46
3.1.2QDialog对话框46
3.1.3QMainWindow应用程序主窗口47
3.2窗口的工作原理48
3.2.1窗口的几何布局48
3.2.2模态对话框和非模态对话框48
3.2.3给项目添加新窗口50
3.2.4窗口之间的跳转52
3.3标准对话框53
3.3.1文件对话框54
3.3.2消息对话框55
3.3.3颜色对话框57
3.3.4字体对话框58
3.3.5进度对话框60
3.3.6输入对话框61
3.4实验:用户登录62
3.4.1实验要求62
3.4.2实验步骤63
3.5课后练习64
第4章常用窗口子部件66
4.1窗口子部件类别66
4.2窗口子部件的重要属性69
4.3显示类部件70
4.3.1QLabel标签部件70
4.3.2QTextBrowser文本浏览器部件71
4.3.3QLCDNumber数码管显示部件72
4.4输入类部件73
4.4.1QLineEdit行编辑器部件73
4.4.2QTextEdit文本编辑器部件76
4.4.3数值设定框部件76
4.5按钮类部件77
4.5.1QPushButton部件77
4.5.2QCheckBox复选框部件78
4.6容器类部件79
4.6.1QGroupBox分组框部件79
4.6.2QTabWidget选项卡部件80
4.7实验:学生信息管理系统81
4.7.1实验要求81
4.7.2实验步骤82
4.8课后练习83
第5章布局管理85
5.1布局管理分类85
5.2基本布局管理器86
5.3栅格布局管理器89
5.4窗体布局管理器90
5.5间隔符Spacer91
5.6部件大小、大小策略及伸缩因子94
5.6.1部件大小94
5.6.2部件大小策略95
5.6.3部件拉伸因子97
5.6.4部件大小策略与拉伸因子的关系98
5.7实验:“天宫空间站”登录界面布局98
5.7.1实验要求98
5.7.2实验步骤99
5.8课后练习103
第6章程序主窗口105
6.1主窗口框架105
6.1.1菜单栏和工具栏106
6.1.2中心部件112
6.1.3状态栏113
6.2拖放操作114
6.3实验:我的文本编辑器116
6.3.1实验要求116
6.3.2实验步骤117
6.4课后练习125
第7章信号和槽126
7.1信号和槽的工作原理126
7.2信号和槽的定义127
7.2.1信号的定义127
7.2.2槽的定义128
7.3信号和槽的连接130
7.4信号的发射和接收132
7.5实验:简易定时器132
7.5.1实验要求132
7.5.2实验步骤133
7.6课后练习138
第8章事件系统139
8.1Qt中的事件139
8.2鼠标事件和滚轮事件140
8.3键盘事件142
8.4事件过滤器与事件的发送143
8.5定时器事件和随机数144
8.6课后练习145
第9章多媒体应用147
9.1播放音频147
9.2播放视频148
9.3QMediaPlayer149
9.4课后练习155
第10章数据存储156
10.1文件存储156
10.2Setting存储156
10.3Excel数据存储158
10.4数据库存储160
10.4.1SQLite数据库及其特点161
10.4.2SQL语言简介161
10.4.3SQL基本查询语句示例162
10.4.4Qt数据库的编程163
10.5课后练习166
第11章访问互联网168
11.1Qt通过HTTP访问百度AI平台168
11.1.1百度AI智能平台的账号申请168
11.1.2百度AI OCR识别170
11.1.3车牌识别175
11.2Qt中进行MQTT通信177
11.2.1Qt中安装QtMqtt模块177
11.2.2Qt的MQTT客户端示例程序179
11.3课后练习184
第12章串口通信185
12.1串口通信环境185
12.2Windows中的Qt串口通信186
12.3树莓派中的Qt串口通信189
12.4课后练习190
第13章树莓派系统中开发Qt程序192
13.1在树莓派上安装Qt5192
13.2在树莓派上使用Qt198
13.3树莓派上开发Qt与Windows的区别200
13.3.1树莓派Qt访问GPIO200
13.3.2树莓派Qt使用串口201
13.3.3树莓派Qt使用多媒体203
13.4课后练习204
第14章综合项目实例——智能停车场205
14.1项目设计目的205
14.2内容及要求206
14.2.1内容概述206
14.2.2项目实施要求206
14.2.3基本功能要求206
14.2.4提高功能要求207
14.2.5平台要求208
14.3项目需求分析208
14.3.1分析方法208
14.3.2实现原理分析208
14.4项目硬件设计209
14.4.1硬件结构设计209
14.4.2电路连接设计209
14.5项目软件设计210
14.5.1软件整体结构设计210
14.5.2UI界面模块设计211
14.5.3车牌识别模块设计212
14.5.4相机模块设计212
14.5.5传感器采集线程模块设计212
14.5.6语音识别与合成模块设计213
14.5.7数据库保存模块设计213
14.5.8数据导出Excel模块设计213
14.5.9硬件驱动模块设计214
14.6项目实现214
14.6.1硬件实现214
14.6.2软件开发注意点216
14.6.3软件功能实现参考216
14.7系统调试与测试225
附录AQt常用快捷键228
附录BWiringPi库常用API231
 
本教材在结构设计与内容的编排上秉承了大连东软信息学院TOPCARES教育方法学指导理念,从应用目的出发,按由易到难的学习规律组织知识点的学习,是经过校企双方严谨的讨论制定的,为初学者学习Qt规划了最优路线。每章在内容设计上,包含很多实操过程,将理论、Qt的核心机制融入实验案例当中。每一章都由一个与主题相关的项目为引导,在项目选题上也是兼顾实用性、趣味性,选材正面,符合社会主义核心价值观,将学习内容由浅入深,通过项目应用的方式进行学习,让读者更容易理解运用场景,有利于理解吸收。
最后,对在本教材写作过程中辛苦付出的学校老师和企业人员的指导和帮助表示衷心的感谢。