QT GUI程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
框架,它包括跨平台类库、集成开 发工具和跨平台 IDE。
一次编码,只需重新编译,便可在不同桌 面,不同平台上部署 速度快,不需要虚拟机 设计界面漂亮(有人认为比VISUAL C++ 强的多,而且简单)
QT用途及支持平台
QT用途
嵌入式设备 消费电子 桌面系统
QT 支持的平台
QT SDK 组成
自4.5版开始,Qt首次以SDK形式发布了 Qt套件,并在单独的安装程序中包含了 完整的Qt SDK,包括: QtCreator-跨平台IDE Nokia全力打造QtCreator,将以前单独列 出的QtDesigner、QtAssistant、QtLinguist 全部整合到QtCreator中,作为QtCreator 的一部分。
QT 简单应用实例(2)
点Choose 选 择工程所在的 目录,同时输 入工程的名称 C:\Qt\2010.04\ qtprojects目录, 工程名称为 helloqt 点next,下一步
QT 简单应用实例(3)
注意这个地方输 入Class Name 和 Base Class 选择: Base Class 可以 是QMainWindow QWidget QDialog, 即可以使主窗口 类,控件类,及 对话框类,这里 我们选择 QMainWindow (也可以选 QDialog) 点next,直到finish 完成
QT C++扩展
Qt 对 C++ 的扩展主要是3个方面: 元对象系统 Qt用宏(macros,如signal,slot)和内省 (introspection)扩展了C++,包含Q_OBJECT宏的
文件(.h, .cpp等),需要 moc 预处理
资源系统
.qrc 文件 ,需要 rcc 进行预处理
界面系统
.ui 文件 ,需要 uic 进行预处理
所有的代码仍然是简明C + +
QT目的
从一份代码构建的跨平台应用 简单地(重复)使用API,高开发效率,开放性, 使用有趣 根据不同平台的本地观感生成相应的本地应用
Windows
mac OS
Linux/X11
商业与开源
LGPL – 免费
Biblioteka Baidu
• Qt Cteator 主界面
QtCreator的组成QtCreator主要由以下组 件构成 • 菜单(MenuBar) • 模式选择器(ModeSelectors) • 项目浏览器(ProjectInspector) • 代码编辑器(CodeEditor) • 输出面板(OutputPane) • 边栏(Sidebar) • 快速导航面板(QuickOpenPane)
构建过程和结果( BuildIssues) 1 显示与构建相关的信息(如警告信息、错误信息等)。 搜索结果(SearchResults)子面板 提供了执行搜索动作后的结果输出显示,搜索的范围可 以 是全局的,也可以是具体局部的。 Application 应用程序输出的控制台,比如qdebug打印出来的调试信息。 Compile 编译输出子面板 显示编译的错误输出。
•
以上改动注意: 不论是PATH还是库路径,全要放在原来值的前面,让 系统第一个找到新安装的QT可执行文件,和QT库。 • 第一行是qt这个目录所在的路径, • 第二行是qmake及uic可执行程序的路径, • 第三行是一个库的路径,编辑完成后,保存,退出。 使环境变量立即生效,执行 #source /etc/profile 确定qt是否可用 #qmake –v,看到qt版本信息,说明安装成功
QT 简单应用实例(1)
打开Qt creator ,欢 迎界面出现两个按 钮 Open projects、Create Project
(1)选择Cteate Project (2)选择 Qt C++ Project > Qt Gui Applicationation (3)这里也可以创建其他 类型的工程程序
QT 安装
SDK获得 从 http://qt.nokia.com/downloads/下载sdk 安装文件: Linux/x86版本: qt-sdk-linux-x86-opensource-2010.04.bin windows版本: qt-sdk-win-opensource-2010.04.exe
QT产品
QT/Embedded : Qt/Embedded是一个完整的自包含基于 Linux 平台的GUI和嵌入式平台开发工具。 包含了早期的版本Qtopia,面向手机、 PDA等消费电子产品,不依赖于庞大的 Xlib,直接在Linux帧缓冲基础上开发 GUI. QT 桌面版基于Windows、Linux
你的应用程序可以是开源的或者是不开源的 对Qt的修改,必须反馈到社区
GPL – 免费
你的应用程序必须是开源的 对Qt的修改,必须反馈到社区
商业的 – 收费
你的应用程序可以是不开源 的 对Qt的修改,可以不开源
QT版本
时间 win/x11 1996 1.0 1999 2.0 2001 3.0 2005 4.0 现在 4.8 QT 大版本之间不兼容,同一个大版本 之间兼容,比如:3.0和4.0不兼容,4.6 和4.7之间是兼容的
QT Creator的模式选择 • 欢迎模式(welcom mode) • 编辑模式(edit mode) • 设计模式(design mode) • 调试模式(debug mode) • 项目模式(projects),完成对项目属 性的设置 • 帮助 模式(help mode)
QT Creator的输出模式
QtCore QtGui
QtOpenGL QtWebKit QtNetwork QtScript QtXml QtXmlPatterns Phonon QtMultimedia
QtOpenVG
QtSql QtSvg
QT常用模块
• QtCore,Qt4的基本模块,定义了其他模块使用的Qt核心的非GUI类, 所有其他的模块都依赖与该模块; • QtGui,定义了图形用户界面类; • QtNetwork,定义了Qt的网络编程类; • QtSql,定义了访问数据库的类; • QtSvg,定义了显示和生成SVG(Scalable Vector Graphics)类; • QtXml,定义了处理XML(eXtensible Markup Language)语言的类; • QtDesigner,定义了扩展Qt设计器(QtDesigner)的类,该模块使得程序员 能够为Qt设计器创建自定义的Qt窗口部件插件(widget plugins)和创建 能够访问Qt设计器组件的类; • QtUiTools,定义了在应用程序中直接处理ui(User Interface)文件的类, 它使得应用程序能够在运行时使用ui文件构建用户界面; • QtAssistant,为应用程序提供了加载Qt助手(Qt Assistant)以支持在线帮 助(online help)的功能; • Qt3Support,定义了同Qt4以前版本Qt3兼容的类,以使得Qt3的程序能够 更容易地移植到Qt4; • QtTest,定义了对Qt应用程序和库进行单元测试(unit testing)的类. • QtScript,该模块提供了对脚本的支持.
QT安装
Windows 下安装 直接双击qt-sdk-win-opensource-2010.04.exe安装文件,点 下一步,系统缺省安装在C:\Qt\2010.04目录下 环境变量设置 1)编辑Path 补上Qt的bin路 径;C:\Qt\2010.04\bin;C:\Qt\2010.04\qt\bin;C:\Qt\2010.04\min gw\bin即可,其中“X‖对应安装Qt的硬盘盘符,我是安装 在C盘下的。 2) 新建环境变量,名称:QTDIR 内容:C:\Qt\2010.04\qt 3) 新建环境变量,名称: QMAKESPEC 内容:C:\Qt\2010.04\qt\mkspecs\win32-g++
QT 简单应用实例(4)
• 此时左面一列,处在Design 这个页面上;左面第二列是常用的可视化控 件,中间是主窗口,我们可以把控件用鼠标拖动到主界面上。 • 比如我们在主窗口中放一个标签,和一个按钮,如下: • IDE最右面的上面是窗口各个部分的控件关系,比如,如果我们不需要 菜单的话,我们可以用鼠标右键点击MenuBar,然后选择Remove MenuBar • IDE 最右面的下面是当前选中控件关心标签的名称,和标签的Text • ObjectName Label • Text : 输入我们自己的标签:第一个QT程序 Hello World !!!,可以将标 签拉大点 • 再在Buttons 里边拉一个按钮上去,将按钮的标签改成OK • 最后给两个控件设置垂直布局,按住Ctrl 选中两个控件,然后点击工具 栏中的三个竖线的布局按钮Lay out Vertical ly ,布局完成. • 设置控件tab顺序,Edit->Edit tab order. • 第一个Helloworld程序做好了。选择File ->save all 保存。
QT SDK组成
QtLinguist 是一套用来消除国际化工作流程中所带 来障碍的工具,又称作Qt语言家。 QT 开发工具
• qmake ->生成.pro文件makefile • uic -> UICompiler,将ui文件转化成C文件认识的.h文件 • moc ->是一个用来生成一些与信号和槽相关的底层代 码的预编译工具 • rcc ->编译资源文件为二进制代码
QT Cteator
QtCreator是全新的跨平台集成开发环境(IDE),专为Qt 开发人员的需求量身定制。它包括: (1) 高度智能的代码编辑器支持代码高亮以及自动完成 功能。 (2)Qt4工程向导(ProjectWizard)使用ProjectWizard, 用户可以轻松创建基于控制台的应用程序、GUI应用 程序以及C++类库等多种类型的工程。 (3) 集成帮助功能在QtCreator中可以查阅相关的Qt文档 和示例程序。 (4)集成QtDesigner功能。 (5)模块间智能导航,来准确定位文件信息 (6)使用qmake进行工程管理。 (7)集成调试器
面向对象
Qt 的良好封装机制使得 Qt 的模块化程度 非常高,可重用性较好,对于用户开发来 说是非常 方便的。
Qt 提供了一种称为 signals/slots 的安全类 型来替代 callback,这使得各个元件 之间 的协同工作变得十分简单。
QT模块
Qt由模块构建
所有的模块都有一个共同的方案,并由相同 的API设计思路构建。
内容摘要
QT 概述
QT 特性与安装 QT Creator使用
QT程序设计
QT核心机制 QT 常用类及控件 QT 物联网平台参数配置程序分析 QT 串口编程
QT编程实战---POS缴费系统设计
QT POS客户端设计 POS缴费系统后台设计
什么是QT?
Qt 是一个用C++编写的跨平台开发
QT安装
Linux下安装,建议安装到FC14以后版本 用root用户登录到系统 将安装文件上传到linux下 修改文件属性,改成可执行属性 #chmod 777 qt-sdk-linux-x86-opensource2010.04.bin #./qt-sdk-linux-x86-opensource-2010.04.bin 出现图形画面后,点下一步,直到安装完成, 一般会默认装在/opt/qtsdk-2010.04目录下,也 可以在安装时制定目录
QT SDK组成
QtLibrary 是一个拥有超过400C++类,同时不断扩展的库。它封 装了用于端到端应用程序开发所需要的所有基础结构。 优秀的Qt应用程序接口包括成熟的对象模型,内容丰 富的集合类,图形有户界面编程与布局设计功能,数 据库编程,网络,XML,国际化,OpenGL集成等。 QtDesigner 是一个功能强大的GUI布局与窗体构造器,能够在所有 支持平台上,以本地化的视图外观与认知,快速开发 高性能的用户界面。 QtAssistant 是一个完全可自定义,重新分配的帮助文件或文档浏 览器,又称作Qt助手。
QT安装
Linux下安装完成后修改环境变量 在/etc/profile文件末尾加上下面四行:
export QTDIR=/opt/qtsdk-2010.04/qt export PATH=$QTDIR/bin:$PATH export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH