第5章 嵌入式linux图形用户接口-qt.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章 嵌入式linux图形用户接口-qt

4. OpenGUI -- OpenGUI在Linux系统上已经存在很长时间了。这个库是用C++编写的,只提供C++接口。 -- OpenGUI基于一个用汇编语言实现的x86图形内核,提供了一个高层的C/C++图形接口。 -- OpenGUI提供了二维绘图函数原型、消息驱动的API及BMP文件格式支持。 -- OpenGUI功能强大,使用方便,支持鼠标和键盘事件,在Linux上基于FrameBuffer实现绘图。 -- 由于OpenGUI基于汇编实现内核并利用MMX指令进行了优化,因此运行速度非常快,但是可移植性受到了影响。 ? 引入一种用于无缝对象通讯的被称为信号和槽的非常强 大的机制 可查询和可设计的属性, 强大的事件和事件过滤器, 根据上下文进行国际化的字符串翻译, 完善的时间间隔驱动的计时器使得在一个事件驱动的图 形界面程序中很好地集成许多任务成为可能。 以一种自然的方式组织对象所有权的分层次和可查询的 对象树。 被守护的指针,QGuardedPtr,当参考对象被破坏时, 可以自动地设置为无效,不像正常的C++指针在它们的 对象被破坏的时候变成了“摇摆指针”。 Qt编程核心技术 1. QT对象模型 元对象系统 信号和插槽 属性 2. QObject类 对象树 事件处理 元对象系统 是一个C++扩展,使得QT更适合真正的组件GUI编程 使用元编译器moc产生能被标准C++编译器访问的附加C++代码 带有moc预编译器的C++基本上提供了面向对象的灵活性,并保持了C++的执行效率和扩展性 1、QObject类 -- QObject类是QT类体系的唯一基类,是QT各种功能的源头活水,就像MFC中的CObject和Dephi中的TObject。是所有能够处理信号、插槽和事件的Qt对象的基类,能够创建带有父对象及其名字的对象,对象的父对象可以看作该对象的所有者。 -- QObject类是所有能够处理signal、slot和事件的Qt对象的基类,原形如下: QObject::QObject ( QObject?*?parent =0,const?char?*?name = 0 ) 在上面的函数中如果parent为0则构造一个无父的对象,如果对象是一个组件,则它就会成为顶层的窗口。 例:建立一个类Mandelbrot,该类继承了QObject类。 class Mandelbrot:public QObject //Mandelbrot类的定义 { Q_OBJECT //需要使用signal和slot public : Mandelbrot(QObject *parent=0, const char *name); …… public slots: void start(); signals: void done(); private slots: void calculate(); private: QTimer timer; …… }; //构造初始化一个Mandelbrot对象 Mandelbrot::Mandelbrot(QObject *parent=0, const char *name) :QObject(parent, name) { connect(timer,SIGNAL(timeout()),SLOT(calculate())); …… } QObject类的继承树 2、QApplication类 QApplication类负责GUI应用程序的控制流和主要设置。它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件; 处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。 对于一个应用程序来说,建立此类的对象是必不可少的。 QApplication是QObject类的子类 3、QWidget类 QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。 组件是用户界面的单元组成部分,它接收来自鼠标、键盘和其他窗口系统的事件,并且绘制到屏幕上。 QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。例如,QPushButton、QlistBox等都是它的子类。 QWidget是QObject类的子类 QWidget相关的函数分组(一) QWidget相关的函数分组(二) QWidget相关的函数分组(三) QWidget相关的函数分组(四) Signal和Slot的声明(一) 在Qt程序设计中,凡是包含signal和slot的类中都要加上Q_OBJECT的定义,下面的例子给出了如

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档