QTGUI程序设计概要
内容摘要 QT 概述 QT 特性与安装 QT Creator使用 QT程序设计 QT核心机制 QT 常用类及控件 QT 物联网平台参数配置程序分析 QT 串口编程 QT编程实战---POS缴费系统设计 QT POS客户端设计 POS缴费系统后台设计 什么是QT? Qt 是一个用C++编写的跨平台开发框架,它包括跨平台类库、集成开发工具和跨平台 IDE。 一次编码,只需重新编译,便可在不同桌面,不同平台上部署 速度快,不需要虚拟机 设计界面漂亮(有人认为比VISUAL C++强的多,而且简单) QT用途及支持平台 QT用途 嵌入式设备 消费电子 桌面系统 QT 支持的平台 面向对象 Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。 QT模块 Qt由模块构建 所有的模块都有一个共同的方案,并由相同的API设计思路构建。 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 C++扩展 Qt 对 C++ 的扩展主要是3个方面: 元对象系统 Qt用宏(macros,如signal,slot)和内省(introspection)扩展了C++,包含Q_OBJECT宏的文件(.h, .cpp等),需要 moc 预处理 资源系统 .qrc 文件 ,需要 rcc 进行预处理? 界面系统 .ui 文件 ,需要 uic 进行预处理 所有的代码仍然是简明C + + QT目的 从一份代码构建的跨平台应用 简单地(重复)使用API,高开发效率,开放性,使用有趣 根据不同平台的本地观感生成相应的本地应用 商业与开源 LGPL – 免费 你的应用程序可以是开源的或者是不开源的 对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产品 QT/Embedded : Qt/Embedded是一个完整的自包含基于Linux 平台的GUI和嵌入式平台开发工具。包含了早期的版本Qtopia,面向手机、PDA等消费电子产品,不依赖于庞大的Xlib,直接在Linux帧缓冲基础上开发GUI. QT 桌面版基于Windows、Linux QT SDK 组成 自4.5版开始,Qt首次以SDK形式发布了Qt套件,并在单独的安装程序中包含了完整的Qt SDK,包括: QtCreator-跨平台IDE Nokia全力打造QtCreator,将以前单独列出的QtDesigner、QtAssistant、QtLinguist全部整合到QtCreator中,作为QtCreator的一部分。 QT SDK组成 QtLibrary 是一个拥有超过400C++类,同时不断扩展的库。它封装了用于端到端应用程序开发所需要的所有基础结构。优秀的Qt应