《gui程序设计q》ppt课件

《gui程序设计q》ppt课件

ID:40010098

大小:844.50 KB

页数:27页

时间:2019-07-17

《gui程序设计q》ppt课件_第1页
《gui程序设计q》ppt课件_第2页
《gui程序设计q》ppt课件_第3页
《gui程序设计q》ppt课件_第4页
《gui程序设计q》ppt课件_第5页
资源描述:

《《gui程序设计q》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式GUI程序设计内蒙古工业大学计算机系王晓强2015.11.271内容摘要Qt简介Qt程序设计方法移植Qt/Embedded环境2QT简介3QtQt是跨平台的应用程序和UI框架。它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。4QtQt的用途Qt支持的平台5QtQt的开发工具GUIDesigner国际化工具HTML帮助系统VisualStudio和Eclipse集成跨平台构建工具QtCreator6QtCreatorQtCreat

2、or是专为满足Qt开发人员需求而量身定制的跨平台集成开发环境(IDE)。QtCreator可在Windows、Linux/X11和MacOSX桌面操作系统上运行,供开发人员针对多个桌面和移动设备平台创建应用程序。7QtCreatorQtCreator包括:高级C++和JavaScript代码编辑器集成用户界面设计器项目和构建管理工具gdb和CDB调试程序的支持版本控制的支持移动用户界面模拟器为桌面和移动目标平台提供支持8Qt程序设计方法9Qt编程核心技术QObject类QApplicationQWidget信号和插槽QTDesign

3、erQT开发的一般步骤10QObject类QObject是QT所有类的基类,QObject是QtObjectModel的核心。是Qt各种功能的源头活水,就象MFC中的CObject和Dephi中的TObject。对象树:QObject在对象树中组织它们自己。当你以另外一个对象作为父对象来创建一个QObject时,它就被添加到父对象的children()列表中,并且当父对象被删除的时候,它也会被删除。这种机制很好的适合了图形用户界面应用对象的需要。事件:事件是由窗口系统或qt本身对各种事务的反应而产生的。当用户按下、释放一个键或鼠标按

4、钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。11事件运行机制事件循环12QApplicationQApplication和QWidget都是QObject类的子类。QApplication类负责GUI应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。对于一个应用程序来说,

5、建立此类的对象是必不可少的。13QWidgetQWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。如,QPushButton、QlistBox等都是它的子类。14一个完整的Qt程序#include#includeintmain(intargc,char*argv[]){QApplicati

6、onapp(argc,argv);QLabel*label=newQLabel("HelloQt!");label->show();returnapp.exec();}15信号和插槽信号和槽机制是Qt的核心机制,利用信号(signal)和插槽(slot)机制可以让编程人员将互不相关的对象绑定在一起,实现对象之间的通信。信号:当对象改变其状态时,信号就由该对象发射(emit)出去,而且对象只负责发送信号,它不知道另一端是谁在接收这个信号。这样就做到了真正的信息封装,能确保对象被当作一个真正的软件组件来使用。槽:用于接收信号,而且槽只是

7、普通的对象成员函数。一个槽并不知道是否有任何信号与自己相连接。而且对象并不了解具体的通信机制。16Signal和Slot的声明(1/2)在Qt程序设计中,凡是包含signal和slot的类中都要加Q_OBJECT的定义。classStudent:publicQObject{Q_OBJECTpublic:Student(){myMark=0;}intmark()const{returnmyMark;}publicslots:voidsetMark(intnewMark);signals:voidmarkChanged(intnewMa

8、rk);private:intmyMark;};17Signal和Slot的声明(2/2)signal的发出一般在事件的处理函数中,利用emit发出signal,在下面的例子中在在事件处理结束后发出signalvoidStudent:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。