- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第14章Qt图形界面程序设计 * 主要内容 Qt的作用 Qt简介 基本Qt程序示例 项目文件 利用qmake编译程序 应用消息/槽的Qt程序示例 程序结构 界面布局 程序编译 * Qt的作用 网络协议 X客户端(应用程序) X工具包、Gtk+,Qt XLib X客户端(应用程序) X工具包、Gtk+,Qt XLib X服务器 设备驱动程序 Qt工具包在XWindow中的作用 和Gtk+一样,是Xlib之上更高层的开发工具包,它们将底层的Xlib的API进行封装,提供更高级的接口,达到降低开发难度,提高开发效率的目的。 * Qt简介 良好的可移植性: X11:即运行在X Window的系统,包括linux、unix等; windows系统:包括windows95/98/Nt/2000/Xp/2003等; Macintosh系统:Max OS X; 嵌入式系统; 辅助工具 Qmake:简化编译过程 QtAssist:定位帮助信息 QtDesigner:辅助界面设计 * Qt简介 Qt的维护与许可制度 不是由软件组织和基金会维护; 由Nokia(Trolltech)国际化的公司维护; General Public License(GPL)、LGPL版本 ; 双许可证(Dual Licensing)的版本 商业软件 非商业软件 * Qt简介 界面元素的组织: 以类继承的结构组织; 基类:QWidget; 事件与事件处理程序的关联: 重载已有的事件处理程序; 适合于已经存在的事件处理函数 利用信号/槽的机制关联信号(事件)和信号对应的事件。 信号(signal)是对象(类)向外界发送的任意消息、事件,不仅仅是界面元素产生的一般消息(鼠标、键盘等)。 槽(slot)是可以接收消息的特殊函数。 * Qt简介 Qt的执行过程如图所示。Qt应用程序初始化之后,在Qt库的支持下响应相应的处理事件并且返回。 * Qt简介 该实现过程需要Qt最主要的三个基类:QObject类、QApplication类和QWidget类。 QObject QObject类是所有能够处理信号、槽和事件的Qt对象的基类,能够创建带有父对象及其名字的对象,对象的父对象可以看作该对象的所有者。 QApplication QApplication类负责GUI应用程序的控制流和主要设置。它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。 QWidget QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收来自鼠标、键盘和其他窗口系统的事件,并且绘制到屏幕上。QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。例如,QPushButton、QlistBox等都是它的子类。 * Qt简介 在Qt程序中,事件处理采用了信号(signal)和槽(slot)机制。信号和槽机制的好处是不需要调用翻译表,节省资源。利用信号和槽进行对象间的通信是Qt最主要的特征之一。 当对象状态发生改变的时候,发出signal通知所有的slot接收signal,尽管它并不知道哪些函数定义了slot,而slot也不知道要接收怎样的signal。signal和slot机制真正实现了封装的概念,但它们之间并不是一一对应的。 显然,由右图可知,同一个信号可以连接到多个槽,多个信号也可以连接到同一个槽之中。随时可以建立一个连接,或者取消一个连接。不过取消一个连接不是很常用,因为当一个对象被删除后,它所包含的连接都会被自动取消。 * 基本Qt程序 程序运行效果 组成: 一个窗口 一个字符串 动作: 运行显示窗口 关闭退出 * 程序清单 hello.cpp 1 #include qapplication.h 头文件 2 #include qlabel.h 头文件 3 int main(int argc, char *argv[ ]){ 主函数 4 QApplication app(argc, argv); 应用程序对象 5 QLabel label (ibHello Qt!/bi, 0); 标签对象 6 app.setMainWidget(label); 7 label.show(); 显示标签窗口 8 return app.exec(); 启动程序 9 } * 程序编译 项目文件——hello.pro 项目文件格式: 基本格式:变量名 = 值 TEMPLATE = app 含义:生成一个可执行文件 其它取值:lib,subdirs,vcapp,vclib; he
您可能关注的文档
- 丁荣培:量子纠缠新解精要.ppt
- 购物中心商户二次装修管理方案及管控要点41页讲解.pptx
- 第05章时间序列模型讲解.ppt
- 第10章辐射照射监测与辐射照射讲解.ppt
- 骨架油封的相关知识讲解.doc
- 第10章工程图标注和符号讲解.ppt
- 第10章块和外部参照讲解.ppt
- 丁荣培:物理大统一的新曙光精要.ppt
- 第10章渠道效率评估讲解.ppt
- 第10章虚拟仪器1讲解.ppt
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
最近下载
- 通用学术英语进阶(北京科技大学)中国大学MOOC(慕课)章节测验试题(答案).pdf
- 最新部编版语文期末复习三年级非连续性文本阅读(附参考答案).docx
- 政务服务中心软硬件项目运维服务方案2.doc VIP
- 火力发电厂直接空冷工程技术规范初稿.doc
- 2024年河北省继续医学教育公共选修课参考答案.pdf VIP
- 老友记台词剧本第一季第1集中英双语左右对照.pdf
- 2024-2025学年广东省广州市省实教育集团初三数学试题第一次模拟考试试题含解析.doc VIP
- 【国家标准】国家职业技能标准 (2019年版) 起重装卸机械操作工.pdf
- 肺结核诊疗方案毕业设计.docx
- 2024年广东省职业院校技能大赛(中职组)智慧物流作业赛项考试题库(含答案).docx VIP
文档评论(0)