第10章GUI程序设计-QT分解.ppt

  1. 1、本文档共27页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式GUI程序设计 内蒙古工业大学计算机系 王晓强 2015.11.27 内容摘要 Qt 简介 Qt 程序设计方法 移植Qt/Embedded环境 QT 简 介 Qt Qt 是跨平台的应用程序和 UI 框架。 它包括跨平台类库、集成开发工具和跨平台 IDE。使用 Qt 您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。 Qt Qt 的用途 Qt 支持的平台 Qt Qt 的开发工具 GUI Designer 国际化工具 HTML 帮助系统 Visual Studio 和 Eclipse 集成 跨平台构建工具 Qt Creator Qt Creator Qt Creator 是专为满足 Qt 开发人员需求而量身定制的跨平台集成开发环境 (IDE)。Qt Creator 可在 Windows、Linux/X11 和 Mac OS X 桌面操作系统上运行,供开发人员针对多个桌面和移动设备平台创建应用程序。 Qt Creator Qt Creator包括: 高级 C++ 和 JavaScript 代码编辑器 集成用户界面设计器 项目和构建管理工具 gdb 和 CDB 调试程序的支持 版本控制的支持 移动用户界面模拟器 为桌面和移动目标平台提供支持 Qt 程序设计方法 Qt 编程核心技术 QObject类 QApplication QWidget 信号和插槽 QTDesigner QT开发的一般步骤 QObject类 QObject是QT所有类的基类,QObject是Qt Object Model的核心。是Qt各种功能的源头活水,就象MFC中的CObject和Dephi中的TObject。 对象树:QObject 在对象树中组织它们自己。当你以另外一个对象作为父对象来创建一个QObject 时,它就被添加到父对象的children()列表中,并且当父对象被删除的时候,它也会被删除。这种机制很好的适合了图形用户界面应用对象的需要。 事件:事件是由窗口系统或qt本身对各种事务的反应而产生的。当用户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知必威体育精装版的可见窗口需要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。 事件运行机制 事件循环 QApplication QApplication和QWidget都是QObject类的子类。 QApplication类负责GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。对于一个应用程序来说,建立此类的对象是必不可少的。 QWidget QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。 QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。如,QPushButton、QlistBox等都是它的子类。 一个完整的Qt程序 #include QApplication #include QLabel int main (int argc, char *argv []) { QApplication app (argc, argv); QLabel *label = new QLabel (Hello Qt!); label-show (); return app.exec (); } 信号和插槽 信号和槽机制是 Qt 的核心机制,利用信号(signal)和插槽(slot)机制可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。 信号:当对象改变其状态时,信号就由该对象发射 (emit) 出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当作一个真正的软件组件来使用。 槽:用于接收信号,而且槽只是普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且对象并不了解具体的通信机制。 Signal和Slot的声明(1/2) 在Qt程序设计中,凡是包含signal和slot的类中都要加Q_OBJECT的定义。 class Student : public QObject { Q_OBJECT public: Student() { myMark = 0; } int mark() const { return myMark; }

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档