




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Qt程序设计基础,Qt简介Qt的安装与开发环境的配置Qt的程序结构和示例Qt的三个主要基类,概述,GUI简介Qt简介,Qtcreator简介Qt的信号与槽,Qt程序设计,GUI简介GUI是什么所谓的的GUI(GraphicsUserInterface)就是图形用户界面,是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。常见的的GUI1.计算机操作系统统(Linux,Windows,MacOS)桌面2.手持设备上的系统统(android,ios,Symbian)界面3.生活中的每个角落(取款机,地铁购票机,pos机,等等),www.cie-,早期的GUI,www.cie-,现代的GUI,www.cie-,嵌入式式GUI的特点1.轻型、占用资源少2.高性能、高可靠性3.便于移植,常用的嵌入式式GUI开发,1.MFC,2.miniGUI,3.QT/embeded,GUI简介,GUI的重要性,1.使用户操作简单、直观,2.使软件变得美观,易于用户接受,3.使产品功能增值,带来巨大的市场价值,www.cie-,GUI简介,www.cie-,Qt简介,Qt是什么,Qt是Trolltech(奇趣)公司的一个产品,是多平台的的C+图形用户界面应用程序框架。,Qt的产品,Qt的产品主要包括括Qt库,IDE,开发工具等。,著名的的KDE桌面就是基于于Qt开发的。,www.cie-,Qt简介,漂亮的KDE桌面,www.cie-,Qt简介,Qt的发展历史,www.cie-,Qt简介,QtQt是跨平台的应用程序和UI框架。它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt您只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt主要是由诺基亚QtDevelopmentFrameworks部门的开发精英开发和维护的。,4,5,QtQt的用途,Qt支持的平台,6,Qt,Qt的开发工具,GUIDesigner,国际化工具,HTML帮助系统,VisualStudio和Eclipse集成跨平台构建工具,QtCreator,7,QtCreator,QtCreator是专为满足Qt开发人员需求而量身定制的跨平台集成开发环境(IDE)。QtCreator可在Windows、Linux/X11和MacOSX桌面操作系统上运行,供开发人员针对多个桌面和移动设备平台创建应用程序。,8,QtCreator,QtCreator包括:,高级C+和JavaScript代码编辑器集成用户界面设计器项目和构建管理工具,gdb和CDB调试程序的支持版本控制的支持,移动用户界面模拟器,为桌面和移动目标平台提供支持,第一节Qt程序设计基础,Qt简介Qt的安装与开发环境的配置Qt的程序结构和示例Qt的三个主要基类,Windows下开发环境的搭建安装QtSDK(qt-windows-opensource-5.0.1-mingw47_32-x86-offline.exe)即可,它是一个完整的Qt开发环境,包括特定版本的Qt库和集成开发环境-QtCreatorIDE。下载地址:,Qt的安装与开发环境的配置,第一节Qt程序设计基础,Qt简介Qt的安装与开发环境的配置Qt的程序结构和示例Qt的三个主要基类,24,一个完整的Qt程序,1#include2#include,3intmain(intargc,char*argv)4,5QApplicationapp(argc,argv);,6QLabel*label=newQLabel(HelloQt!);7label-show();,8returnapp.exec();9,Qt的程序结构和示例,/hello.cpp1#include2#include3intmain(intargc,char*argv)4QApplicationapp(argc,argv);/*QApplication管理了各种各样的应用程序的广泛资源,比如默认的字体和光标*/QLabel*hello=newQLabel(HelloQt!”);/*创建了一个QLabel窗口部件,显示HelloQt*/hello-show();/*当窗口部件被创建的时候,它总是隐藏的,必须调用show()来使它可见*/returnapp.exec();/*main()将控制权交给Qt。在这里,程序进入了事件循环。事件循环是一种stand-by模式,程序会等待用户的动作(比如按下鼠标或者键盘)*/9,初始化在Qt应用程序中,首先要创建一个QApplication对象,QApplication类负责图形用户界面应用程序的控制流和主设置,在main函数中定义如下:intmain(intargc,char*argv)QApplicationa(argc,argv);,Qt的程序结构和示例,QApplication包含在main()函数的事件循环体中,对所有来自Window系统和其它源文件的事件进行处理和调度,还包括处理应用程序的初始化和结束,并且提供会话管理。在Qt应用程序中,不管有多少个窗口,QApplication对象只能有一个,而且必须在其他对象之前创建。QApplication类中封装了很多函数,其中包括:系统设置:setFont()用来设置字体事件处理:sendEvent()用来发送事件GUI风格:setStyles()设置图形用户界面的风格颜色使用:colorSpec()用来返回颜色文件文本处理:translate()用来处理文本信息创建组件:setmainWidget()用来设置窗口的主组件,Qt的程序结构和示例,2.组件的创建,组件的创建需要调用相应组件的类,并在头文件中包含此类的头文件或者创建自定义类。#include实例化该组建的对象:QLabel*hello=newQLabel(“HelloQt!”);如果是自定义的组建类,类的声明和实现分别在对应的.cpp和.h文件中。组件创建时一般是不可见的,这样的好处在于避免大量组件创建时造成的屏幕闪烁现象,要使组件可见需要调用QWidget类的成员函数show()来显示组件。hello-show();,Qt的程序结构和示例,3.事件,在X程序中,敲击键盘,鼠标指针在窗口中的移动或鼠标按键动作等,都是事件。在Qt程序中,事件处理的方式是回调,但与以往所不同的是,事件的发出和接收采用了信号(signal)和插槽(slot)机制,无须调用翻译表。利用信号和插槽进行对象间的通信是Qt的最主要特征之一。,Qt的程序结构和示例,4.退出事件,退出事件程序,只需要在程序结束时返回一个exec(),例如:returna.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,classMandelbrot:publicQObjectQ_OBJECT/需要使用signal和slotpublic:Mandelbrot(QObect*parent=0);publicslots:voidstart();signals:voiddone();privateslots:voidcalculate();private:QTimertimer;;,Qt的三个主要基类,1.QObject,/构造初始化一个Mandelbrot对象Mandelbrot:Mandelbrot(QObject*parent=0,constchar*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年教育行业应用报告
- 2025年新能源企业国际化品牌传播策略报告
- 2025福建厦门市集美实验学校产假顶岗教师招聘1人考前自测高频考点模拟试题及答案详解(考点梳理)
- 2025年新能源汽车充电桩安全性与可靠性评估报告
- 2025国家应急管理部所属单位第二批次招聘1人模拟试卷及答案详解(夺冠)
- 2025年度福建省血液中心招聘6人模拟试卷附答案详解(完整版)
- 2025年新能源汽车电池回收处理技术报告
- 2025年南平邵武市立医院护理岗位招聘模拟试卷及答案详解1套
- 2025江西南昌市劳动保障事务代理中心招聘劳务外包人员1人模拟试卷附答案详解(黄金题型)
- 2025甘肃兰州新区市政投资管理集团有限公司招聘32人模拟试卷及参考答案详解一套
- 思政家乡课件
- 2025年职业培训学校建设项目可行性分析与初步设计方案报告
- 2025年软件架构师专业技术考核试题及答案解析
- 八上语文第9课《天上有颗南仁东星》课件
- 2024年BRCGS包装材料全球标准第7版全套管理手册及程序文件(可编辑)
- 2023年上海市虹口区初三一模语文试卷(含答案)
- 优势视角课件完整版
- 花城版音乐课时15-第12课 走近戏曲(一)观赏京剧学习念白-京剧丑角的念白《报灯名》-课件
- 《食品安全法》与粮食质量安全专题培训课件
- 2023年安康市交通建设投资集团有限公司招聘笔试题库及答案解析
- 文理分科心理测试问卷
评论
0/150
提交评论