




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Qt程序设计基础,Qt简介 Qt的安装与开发环境的配置 Qt的程序结构和示例 Qt的三个主要基类,概述,GUI简介 Qt简介,Qt creator简介 Qt 的信号与槽,Qt程序设计,GUI简介 GUI是什么 所谓的的GUI(Graphics User Interface)就是图形 用户界面,是指计算机与其使用者之间的对话接口,是 计算机系统的重要组成部分。 常见的的GUI 1.计算机操作系统统(Linux,Windows,MacOS)桌面 2.手持设备上的系统统(android,ios,Symbian) 界面 3.生活中的每个角落(取款机,地铁购票机, pos机,等等),,早期的GUI,,现代的GUI,,嵌入式式GUI的特点 1.轻型、占用资源少 2.高性能、高可靠性 3.便于移植,常用的嵌入式式GUI开发,1.MFC,2.miniGUI,3.QT/embeded,GUI简介,GUI的重要性,1.使用户操作简单、直观,2.使软件变得美观,易于用户接受,3.使产品功能增值,带来巨大的市场价值,,GUI简介,,Qt简介,Qt是什么,Qt是Trolltech(奇趣)公司的一个产品,是 多平台的的C+图形用户界面应用程序框架。,Qt的产品,Qt的产品主要包括括Qt库,IDE,开发工具等。,著名的的KDE桌面就是基于于Qt开发的。,,Qt简介,漂亮的KDE桌面,,Qt简介,Qt的发展历史,,Qt简介,Qt Qt 是跨平台的应用程序和 UI 框架。 它包括跨平台类库、集成开发工 具和跨平台 IDE。使用 Qt 您只需一次性开发应用程序,无须重新编写 源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。 Qt 主要是由诺基亚Qt Development Frameworks 部门的开发精英开发和维护的。,4,5,Qt Qt 的用途,Qt 支持的平台,6,Qt, Qt 的开发工具, GUI Designer, 国际化工具, HTML 帮助系统, Visual Studio 和 Eclipse 集成 跨平台构建工具, Qt Creator,7,Qt Creator, Qt Creator 是专为满足 Qt 开发人员需求而量身定制的跨 平台集成开发环境 (IDE)。Qt Creator 可在 Windows、 Linux/X11 和 Mac OS X 桌面操作系统上运行,供开发 人员针对多个桌面和移动设备平台创建应用程序。,8,Qt Creator, Qt Creator包括:, 高级 C+ 和 JavaScript 代码编辑器 集成用户界面设计器 项目和构建管理工具, gdb 和 CDB 调试程序的支持 版本控制的支持, 移动用户界面模拟器, 为桌面和移动目标平台提供支持,第一节 Qt程序设计基础,Qt简介 Qt的安装与开发环境的配置 Qt的程序结构和示例 Qt的三个主要基类,Windows下开发环境的搭建 安装Qt SDK( qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe )即可,它是一个完整的Qt开发环境,包括特定版本的Qt库和集成开发环境-Qt Creator IDE。 下载地址:/downloads-cn,Qt的安装与开发环境的配置,第一节 Qt程序设计基础,Qt简介 Qt的安装与开发环境的配置 Qt的程序结构和示例 Qt的三个主要基类,24,一个完整的Qt程序,1 #include 2 #include ,3 int main (int argc, char *argv ) 4 ,5 QApplication app (argc, argv);,6 QLabel *label = new QLabel (“Hello Qt!“); 7 label-show ();,8 return app. exec (); 9 ,Qt的程序结构和示例,/hello.cpp 1 #include 2 #include 3 int main(int argc, char *argv) 4 QApplication app (argc, argv); /*QApplication管理了各种各样的应用程序的广泛资源,比如默认的字体和光标*/ QLabel *hello = new QLabel(“Hello Qt!”); /*创建了一个QLabel窗口部件,显示HelloQt*/ hello-show(); /*当窗口部件被创建的时候,它总是隐藏的,必须调用show()来使它可见*/ return app.exec(); /*main()将控制权交给Qt。在这里,程序进入了事件循环。事件循环是一种stand-by模式,程序会等待用户的动作(比如按下鼠标或者键盘)*/ 9 ,初始化 在Qt应用程序中,首先要创建一个QApplication对象,QApplication类负责图形用户界面应用程序的控制流和主设置,在main函数中定义如下: int main(int argc, char *argv) QApplication a(argc, argv); ,Qt的程序结构和示例,QApplication包含在main()函数的事件循环体中,对所有来自Window系统和其它源文件的事件进行处理和调度,还包括处理应用程序的初始化和结束,并且提供会话管理。 在Qt应用程序中,不管有多少个窗口,QApplication对象只能有一个,而且必须在其他对象之前创建。 QApplication类中封装了很多函数,其中包括: 系统设置:setFont() 用来设置字体 事件处理:sendEvent() 用来发送事件 GUI风格:setStyles() 设置图形用户界面的风格 颜色使用:colorSpec() 用来返回颜色文件 文本处理:translate() 用来处理文本信息 创建组件:setmainWidget() 用来设置窗口的主组件 ,Qt的程序结构和示例,2.组件的创建,组件的创建需要调用相应组件的类,并在头文件中包含此类的头文件或者创建自定义类。 #include 实例化该组建的对象: QLabel *hello = new QLabel(“Hello Qt!”); 如果是自定义的组建类,类的声明和实现分别在对应的.cpp 和.h文件中。 组件创建时一般是不可见的,这样的好处在于避免大量组件创建时造成的屏幕闪烁现象,要使组件可见需要调用QWidget类的成员函数show()来显示组件。 hello-show();,Qt的程序结构和示例,3.事件,在X程序中,敲击键盘,鼠标指针在窗口中的移动或鼠标按键动作等,都是事件。 在Qt程序中,事件处理的方式是回调,但与以往所不同的是,事件的发出和接收采用了信号(signal)和插槽(slot)机制,无须调用翻译表。 利用信号和插槽进行对象间的通信是Qt的最主要特征之一。,Qt的程序结构和示例,4.退出事件,退出事件程序,只需要在程序结束时返回一个exec(),例如: return a.exec(); 其中a为QApplication的实例,当调用exec()将进入主事件的循环中,直到exit()被调用或主窗口部件被销毁。,5.Qt程序处理机制,Qt的程序结构和示例,第一节 Qt程序设计基础,Qt简介 Qt的特征 Qt的优势 Qt的开发维护方式 Qt的安装与开发环境的配置 Qt的程序结构和示例 Qt的三个主要基类,20,QObject类, QObject是Qt类体系的唯一基类,是 Qt各种功能的源头活水,就象,MFC中的CObject和Dephi中的TObject, 对象树: QObject 在对象树中组织它们自己。当你以另外一个对象作 为父对象来创建一个 QObject 时,它就被添加到父对象的 children(),列表中,并且当父对象被删除的时候,它也会被删除。这种机制很 好的适合了图形用户界面应用对象的需要。, 事件:事件是由窗口系统或 qt本身对各种事务的反应而产生的。当用,户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当 窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需 要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有 一些,比如定时器等,是由系统独立产生的。,Qt的三个主要基类,QObject类是所有能够处理signal、slot和事件的Qt对象的基类,原形如下: QObject:QObject ( QObject * parent = 0 ) 在上面的函数中如果parent为0则构造一个无父的对象,如果对象是一个组件,则它就会成为顶层的窗口。,1.QObject,class Mandelbrot:public QObject Q_OBJECT /需要使用signal和slot public : Mandelbrot(QObect *parent=0); public slots: void start(); signals: void done(); private slots: void calculate(); private: QTimer timer; ;,Qt的三个主要基类,1.QObject,/构造初始化一个Mandelbrot对象 Mandelbrot:Mandelbrot(QObject *parent=0, const char *name) :QObject(parent, name) connect( ,Qt的三个主要基类,1.QObject,22,QApplication, ,QApplication和QWidget都是QObject类的子类。 QApplication类负责GUI应用程序的控制流和主 要的设置,它包括主事件循环体,负责处理和 调度所有来自窗口系统和其他资源的事件,并 且处理应用程序的开始、结束以及会话管理, 还包括系统和应用程序方面的设置。 对于
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2025年标准)广告分包协议书
- 经典名句诵读指导
- 项目投资合作协议书范本模板
- 外包软件设计与开发合作协议指南
- 咨询服务企业项目咨询协议
- 果树苗木科学养护措施
- Unit 5 What time is it?Hit it big & Wrap up教学设计文档
- 2025年公务员面试笔试全真模拟题及答案解析
- 项目教学法应用于工程管理的心得体会
- 广东省深圳市宝安区2024-2025学年高二上学期期末调研测试物理试题(原卷版)
- 综采工作面液压支架安装回撤工理论考核试题及答案
- 初中高中英语所有单词集合带音标
- 露天矿山危险源辨识(汇总)
- 放射科质控汇报
- GB/T 31091-2014煤场管理通用技术要求
- GB/T 24218.1-2009纺织品非织造布试验方法第1部分:单位面积质量的测定
- 万东GFS型高频高压发生装置维修手册
- 公寓de全人物攻略本为个人爱好而制成如需转载注明信息
- 企业经营沙盘模拟实训指导书
- 汉密尔顿抑郁量表17项
- 《现代物流管理》第一章-导论(课用)
评论
0/150
提交评论