《Qt应用程序开发入门.ppt》由会员分享,可在线阅读,更多相关《Qt应用程序开发入门.ppt(37页珍藏版)》请在三一办公上搜索。
1、Qt程序设计基础,Qt简介Qt的安装与开发环境的配置Qt的程序结构和示例Qt的三个主要基类,概述,GUI简介Qt简介,Qt creator简介Qt 的信号与槽,Qt程序设计,GUI简介GUI是什么所谓的的GUI(Graphics User Interface)就是图形用户界面,是指计算机与其使用者之间的对话接口,是计算机系统的重要组成部分。常见的的GUI1.计算机操作系统统(Linux,Windows,MacOS)桌面2.手持设备上的系统统(android,ios,Symbian)界面3.生活中的每个角落(取款机,地铁购票机,pos机,等等),早期的GUI,现代的GUI,嵌入式式GUI的特点1
2、.轻型、占用资源少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
3、框架。它包括跨平台类库、集成开发工具和跨平台 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
4、)。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、5.0.1-mingw47_32-x86-offline.exe)即可,它是一个完整的Qt开发环境,包括特定版本的Qt库和集成开发环境-Qt Creator IDE。下载地址:,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()
6、;,8 return app.exec();9,Qt的程序结构和示例,/hello.cpp1#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
7、();/*main()将控制权交给Qt。在这里,程序进入了事件循环。事件循环是一种stand-by模式,程序会等待用户的动作(比如按下鼠标或者键盘)*/9,初始化在Qt应用程序中,首先要创建一个QApplication对象,QApplication类负责图形用户界面应用程序的控制流和主设置,在main函数中定义如下:int main(int argc,char*argv)QApplication a(argc,argv);,Qt的程序结构和示例,QApplication包含在main()函数的事件循环体中,对所有来自Window系统和其它源文件的事件进行处理和调度,还包括处理应用程序的初始化和
8、结束,并且提供会话管理。在Qt应用程序中,不管有多少个窗口,QApplication对象只能有一个,而且必须在其他对象之前创建。QApplication类中封装了很多函数,其中包括:系统设置:setFont()用来设置字体 事件处理:sendEvent()用来发送事件 GUI风格:setStyles()设置图形用户界面的风格 颜色使用:colorSpec()用来返回颜色文件 文本处理:translate()用来处理文本信息 创建组件:setmainWidget()用来设置窗口的主组件,Qt的程序结构和示例,2.组件的创建,组件的创建需要调用相应组件的类,并在头文件中包含此类的头文件或者创建自定
9、义类。#include 实例化该组建的对象:QLabel*hello=new QLabel(“Hello Qt!”);如果是自定义的组建类,类的声明和实现分别在对应的.cpp 和.h文件中。组件创建时一般是不可见的,这样的好处在于避免大量组件创建时造成的屏幕闪烁现象,要使组件可见需要调用QWidget类的成员函数show()来显示组件。hello-show();,Qt的程序结构和示例,3.事件,在X程序中,敲击键盘,鼠标指针在窗口中的移动或鼠标按键动作等,都是事件。在Qt程序中,事件处理的方式是回调,但与以往所不同的是,事件的发出和接收采用了信号(signal)和插槽(slot)机制,无须调用
10、翻译表。利用信号和插槽进行对象间的通信是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
11、中的CObject和Dephi中的TObject,对象树:QObject 在对象树中组织它们自己。当你以另外一个对象作为父对象来创建一个 QObject 时,它就被添加到父对象的 children(),列表中,并且当父对象被删除的时候,它也会被删除。这种机制很好的适合了图形用户界面应用对象的需要。,事件:事件是由窗口系统或 qt本身对各种事务的反应而产生的。当用,户按下、释放一个键或鼠标按钮,一个键盘或鼠标事件被产生;当窗口第一次显示,一个绘图事件产生,从而告知最新的可见窗口需要重绘自身。大多数事件是由于响应用户的动作而产生的,但还有一些,比如定时器等,是由系统独立产生的。,Qt的三个主要基类
12、,QObject类是所有能够处理signal、slot和事件的Qt对象的基类,原形如下:QObject:QObject(QObject*parent=0)在上面的函数中如果parent为0则构造一个无父的对象,如果对象是一个组件,则它就会成为顶层的窗口。,1.QObject,class Mandelbrot:public QObjectQ_OBJECT/需要使用signal和slotpublic:Mandelbrot(QObect*parent=0);public slots:void start();signals:void done();private slots:void calcula
13、te();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应用程序的控制流和主要的设置,它包括主事件循环体,负责处理和调度所有来自窗口系统和其他资源的事件,并且处理应用程序的开始、结束以及会话管理,还包括系统和应用程序方面的设置。对于一个应用程序来说,建立此类的对象是必不可少的。,Qt的三个主要基类,23,QWidget,QWidget类是所有用户接口对象的基类,它继承了QObject类的属性。组件是用户界面的单元组成部分,它接收鼠标、键盘和其它从窗口系统来的事件,并把它自己绘制在盘屏幕上。,QWidget类有很多成员函数,但一般不直接使用,而是通过子类继承来使用其函数功能。如,QPushButton、QlistBox等都是它的子类。,Qt的三个主要基类,谢谢!,
链接地址:https://www.31ppt.com/p-6517052.html