第14章Qt图形界面程序设计讲解.ppt

  1. 1、本文档共28页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档