一、QT简介

1、QT简介

QT是一个跨平台的C++图形用户界面库,由挪威TrollTech公司出品,目前包括Qt Creator, QtEmbedded,Qt Designer快速开发工具,Qt Linguist国际化工具等部分,Qt支持所有Linux/Unix系统,还支持Windows平台。

2、QT优点

Qt是一个跨平台的C++图形用户界面应用程序框架,提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt很容易扩展,并且允许真正地组件编程。Qt与GTK、KDE、MFC,OWL,VCL,ATL是一样的图形界面库。

QT优点如下:

A、优良的跨平台特性

Qt支持下列操作系统: Microsoft Windows,Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1,Tru64),Irix,FreeBSD,BSD/OS,SCO,AIX,OS390,QNX等等。

B、面向对象

Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于用户开发来说非常方便。 Qt提供了一种称为signals/slots的安全类型来替代 callback,使得各个元件之间的协同工作变得十分简单。

C、丰富的API

Qt包括多达250个以上的C++类,还提供基于模板的collections, serialization,file,I/O device,directory management,date/time类。

D、支持2D/3D图形渲染,支持OpenGL

E、大量的开发文档

F、XML支持

二、QT开发工具

QT开发工具包含Qt Creator、Qt Designer、Qt Linguist、Qt Assistant、Qmake。

1、Qt Creator

Qt Creator是用于Qt开发的轻量级跨平台集成开发环境。

2、Qt Designer

Qt Designer是强大的拖曳式图形化用户界面排版和设计工具。

Qt Designer功能如下:

A、支持表单和对话框的创建,可即时预览

B、与Qt版面系统集成

C、宏大的标准widgets集

D、支持客户定制的widgets和对话框

E、与Microsoft® Visual Studio .NET无缝集成

Qt Designer优势如下:

A、大大加快了界面的设计过程

B、支持所有平台上的本地外观感觉

C、开发者能在自行选择的工作环境内充分发挥其现有技能

3、Qt Linguist

Qt Linguist一整套工具,支持对Qt应用作快捷无误的翻译,是一组能理顺国际化工作流的工具。

Qt Linguist功能如下:

A、采集所有的用户界面文本并以一个简洁的窗口将其展现给人工译者

B、支持所有语言

C、从单一应用的二进制程序内部提供同时多语言支持及同时多写入系统

Qt Linguist优势如下:

A、大大加快了翻译/本地化进程

B、与Qt的语言敏感排版引擎协同,以创建与语言不相关的简洁一致的界面

C、轻松应对国际市场

4、Qt Assistant

Qt Assistant是可定制可重发布的帮助文件和文档阅读器。

Qt Assistant功能如下:

A、简单明快的web浏览器般导航、书签和文档文件连接

B、支持富文本HTML

C、全文本关键词查阅

D、可定制并随Qt供应

Qt Assistant优势如下:

A、无需再从头开始构建帮助系统

B、充分利用现有的HTML技能

C、以方便搜寻和导航的格式向最终用户提供文档

5、Qmake

Qmake跨平台makefile生成器。

Qmake功能如下:

A、读取工程源码,生成依赖关系树,生成平台相关工程和makefiles

B、与Visual Studio及Xcode集成

Qmake优势如下:

A、无需担忧跨平台编译

B、降低对makefile手工构建的需求度

6、其他工具

A、lupdate:从源代码文件或其他资源文件中提取需要翻译的字符串,并将之存入xml格式的.ts文件中。

B、lrelease:负责将.ts文件转化为程序使用的.qm文件。.qm档会去掉.ts档中所有的空白和未翻译的内容,并将存储格式压缩。

C、lconvert:用于翻译文件之间的格式转换。

D、QVFb:虚拟帧缓存设备,模拟framebuffer设备(尺寸、色深),还可以通过skin模拟硬件键盘的布局(包括特殊的按键),可以便捷在桌面系统机器上开发嵌入式程序

E、makeqpf:创建用于嵌入式设备的qpf格式。qpf是一种预先渲染的字体,直接保存成二进制内容,使用的时候可以用内存映射加载,从加载到绘制的过程不需要计算。

F、uic:User Interface Compiler。从用户界面的文件(.ui)生成C++代码。

G、rcc:Resource Compiler。rcc工具根据.qrc文件的内容将相关的资源在编译过程中嵌入到Qt应用程序。

H、qtconfig:基于X11的Qt的配置工具和在线帮助。

I、qconfig:Qt Embedded(Linux和Windows CE)配置工具。

J、qtdemo:Qt的实例和示范项目的加载器。

K、qt3to4:协助移植Qt 3程序到Qt 4的工具。

L、qdbusxml2cpp:QtDBus XML compiler。将xml格式的D-Bus接口描述转换成为C++源代码

M、D-Bus Viewer:可以查看D-Bus对象和信息的工具。

N、Qt Visual Studio Add-in:Visual Studio集成

O、Qt Eclipse Integration:Eclipse集成

三、QT模块

QT模块分为QT基础模块和QT扩展模块。

1、QT基础模块

QT基础模块包括:

A、Qt Core,提供核心的非GUI功能,所有模块都需要Qt Core模块。Qt Core模块的类包括了动画框架、定时器、各个容器类、时间日期类、事件、IO、JSON、插件机制、智能指针、图形(矩形、路径等)、线程、XML 等。

B、Qt Gui,提供 GUI 程序的基本功能,包括与窗口系统的集成、事件处理、OpenGL 和 OpenGL ES 集成、2D 图像、字体、拖放等,一般由 Qt 用户界面类内部使用,也可以用于访问底层的 OpenGL ES 图像 API。Qt Gui 模块提供的是所有图形用户界面程序都需要的通用功能。

C、Qt Multimedia,提供视频、音频、收音机以及摄像头等功能,需要在 pro 文件中添加 QT += multimedia。

D、Qt Network,提供跨平台的网络功能,需要在 pro 文件中添加 QT += network。

E、Qt Qml,提供供 QML(一种脚本语言,也提供 JavaScript 的交互机制) 使用的 C++ API,需要在 pro 文件中添加 QT += qml。

F、Qt Quick,允许在 Qt/C++ 程序中嵌入 Qt Quick(一种基于 Qt 的高度动画的用户界面,适合于移动平台开发),需要在 pro 文件中添加 QT += quick。

G、Qt SQL,允许使用 SQL 访问数据库,需要在 pro 文件中添加 QT += sql。

H、Qt Test,提供 Qt 程序的单元测试功能,需要在 pro 文件中添加 QT += testlib。

I、Qt Webkit,基于 WebKit2 的实现以及一套全新的 QML API

2、QT扩展模块

QT扩展模块包括:

(1)Qt 3D,提供声明式语法,在 Qt 程序中可以简单地嵌入 3D 图像。Qt 3D 为 Qt Quick 添加了 3D 内容渲染。Qt 3D 提供了 QML 和 C++ 两套 API,用于开发 3D 程序。

(2)Qt Bluetooth,提供用于访问蓝牙无线设备的 C++ 和 QML API。

(3)Qt Contacts,用于访问地址簿或者联系人数据库的 C++ 和 QML API。

(4)Qt Concurrent,封装了底层线程技术的类库,方便开发多线程程序。

(5)Qt D-Bus,是一个仅供 Unix 平台使用的类库,用于利用 D-Bus 协议进行进程间交互。

(6)Qt Graphical Effects,提供一系列用于实现图像特效的类,比如模糊、锐化等。

(7)Qt Image Formats,支持图片格式的一系列插件,包括 TIFF、MNG、TGA 和 WBMP。

(8)Qt JS Backend,模块没有公开的 API,是 V8 JavaScript 引擎的一个移植,仅供 QtQml 模块内部使用。

(9)Qt Location,提供定位机制、地图和导航技术、位置搜索等功能的 QML 和 C++ API。

(10)Qt OpenGL,方便在 Qt 应用程序中使用 OpenGL,仅仅为了程序从 Qt 4 移植到 Qt 5 的方便才保留下来,如果你需要在新的 Qt 5 程序中使用 OpenGL 相关技术,需要使用的是 QtGui 模块中的 QOpenGL。

(11)Qt Organizer,使用 QML 和 C++ API 访问组织事件(organizer event)。organizer API 是 Personal Information Management API 的一部分,用于访问 Calendar 信息。通过 Organizer API 可以实现:从日历数据库访问日历时间、导入 iCalendar 事件或者将自己的事件导出到 iCalendar。

(12)Qt Print Support,提供对打印功能的支持。

(13)Qt Publish and Subscribe,为应用程序提供对项目值的读取、导航、订阅等的功能。

(14)Qt Quick 1,从 Qt 4 移植过来的 QtDeclarative 模块,用于提供与 Qt 4 的兼容。如果你需要开发新的程序,需要使用 QtQuick 模块。

(15)Qt Script,提供脚本化机制。这也是为提供与 Qt 4 的兼容性,如果要使用脚本化支持,请使用 QtQml 模块的 QJS* 类。

(16)Qt Script Tools,为使用了 Qt Script 模块的应用程序提供的额外的组件。

(17)Qt Sensors,提供访问各类传感器的 QML 和 C++ 接口。

(18)Qt Service Framework,提供客户端发现其他设备的服务。Qt Service Framework 为在不同平台上发现、实现和访问服务定义了一套统一的机制。

(19)Qt SVG,提供渲染和创建 SVG 文件的功能。

(20)Qt System Info,提供一套 API,用于发现系统相关的信息,比如电池使用量、锁屏、硬件特性等。

(21)Qt Tools,提供了 Qt 开发的方便工具,包括 Qt CLucene、Qt Designer、Qt Help 以及 Qt UI Tools 。

(22)Qt Versit,提供了对Versit API 的支持。Versit API是Personal Information Management API 的一部分,用于 QContacts 和 vCard 以及 QOrganizerItems 和 iCalendar 之间的相互转换。

(23)Qt Wayland,仅用于Linux平台,用于替代 QWS,包括 Qt Compositor API(server)和 Wayland 平台插件(clients)。

(24)Qt WebKit,从 Qt 4 移植来的基于 WebKit1 和 QWidget 的 API。

(25)Qt Widgets,使用 C++ 扩展的 Qt Gui 模块,提供了一些界面组件,比如按钮、单选框等。

(26)Qt XML,SAX 和 DOM 的 C++ 实现。该模块已经废除,请使用 QXmlStreamReader/Writer。

(27)Qt XML Patterns,提供对 XPath、XQuery、XSLT 和 XML Schema 验证的支持。

Hello Qt(一)——QT简介相关推荐

  1. 【Qt】Qt数据库简介

    00. 目录 文章目录 00. 目录 01. Qt SQL模块简介 02. 数据库类 03. 数据库驱动 04. 测试代码 05. 附录 01. Qt SQL模块简介 本概述假定您至少具有SQL的基本 ...

  2. [Qt教程] 第21篇 数据库(一)Qt数据库应用简介

    [Qt教程] 第21篇 数据库(一)Qt数据库应用简介 楼主  发表于 2013-5-13 20:56:39 | 查看: 1403| 回复: 13 Qt数据库应用简介 版权声明 该文章原创于作者yaf ...

  3. [Qt教程] 第31篇 网络(一)Qt网络编程简介

    [Qt教程] 第31篇 网络(一)Qt网络编程简介 楼主  发表于 2013-8-28 17:04:17 | 查看: 515| 回复: 0 Qt网络编程简介 版权声明 该文章原创于作者yafeilin ...

  4. Qt 与 Qt Creator 简介

    该文章原创于Qter开源社区(www.qter.org),作者 yafeilinux,转载请注明出处! 一.Qt 与 Qt Creator 简介 Qt 是一个跨平台应用程序和 UI 开发框架.使用 Q ...

  5. Qt Quick 3D简介

    Qt Quick 3D简介 前言 Qt Quick 3D是Qt自带的一套3D图形系统,与传统的Qt 3D不同的是,Qt Quick 3D采用QML来进行开发.本节则对Qt Quick 3D进行一次简单 ...

  6. QT之QHash简介

    QHash <Key,T>是Qt的通用容器类之一.它存储(键,值)对,并提供与键关联的值的快速查找. 1,QHash提供与QMap非常相似的功能. 不同之处在于: (1)QHash提供比Q ...

  7. QT实现Qt Quick和three.js渲染和实现QML3D控件

    QT实现Qt Quick和three.js渲染和实现QML3D控件 项目简介 项目技术 项目展示 主要源码片段解析 获取完整项目源码传送门 项目简介 结合Qt Quick和three.js渲染. 演示 ...

  8. Linux qt教程 qt入门(一)

    使用Linux纯属为了想了解UNIX下DB2运行和使用情况,而一直喜欢用的FreeBSD上好像不支持DB2数据库,反正我没有看到这方面资料.如果有谁知道的话请你告诉我. 我的爱机配置较低,在Freeb ...

  9. Python PyQt5 Qt Designer (Qt设计师)

    PyQt5 Qt Designer (Qt设计师) 本文由 Luzhuo 编写,转发请保留该信息. 原文: https://blog.csdn.net/Rozol/article/details/87 ...

  10. 【Qt】Qt学习笔记(更新中)

    文章目录 0x00 前言 0x01 Qt简介 1.1 Qt是什么 1.2 Qt发展史 1.3 Qt支持的平台 1.4 使用Qt开发的软件 1.5 Qt的优点 1.6 其它 0x02 创建Qt项目 2. ...

最新文章

  1. oracle sql profile
  2. SCAPY pcap文件数据分析 python3
  3. mysql 中lock wait_应用中MYSQL 报错Lock wait timeout exceeded; try restarting transaction
  4. iphone屏幕录制_无需第三方APP,苹果iPhone手机屏幕录制的方法
  5. C语言数组清空的几种方法比较
  6. docker重启容器命令
  7. 解决Ajax不能跨域的方法
  8. 红帽linux lnmp搭建,RedHat/CentOs系统搭建lnmp环境
  9. android pd px sp 转换
  10. 打开的文件过多问题排查思路及解决过程
  11. Swift - whose view is not in the window hierarchy 问题解决方法
  12. 一个本科毕业生的Java学习之路
  13. Java中String、StringBuffer 、StringBuilder
  14. EOS主网上线,如何在Imtoken里导入EOS钱包?
  15. ESP32 LVGL8.1 ——Roller 滚动 (Roller 24)
  16. Win7 环境下 IE8 升级到 IE11 后 F12 工具无法使用
  17. matlab矩阵对角线上下加减,matlab – 如何在相关矩阵中移动靠近矩阵对角线的较大值...
  18. Android FileOutputStream FileInputStream 读写问题记录
  19. php-fpm 端口号,PHP-FPM 配置说明
  20. 1414-二步侠PIPI(二分图应用)

热门文章

  1. Visual Studio.NET 术语大全
  2. U盘安装ubuntu20.04 Linux系统分区方案 Invalid Partition Table
  3. 深度强化学习系列(2): ERROR: GLEW initalization error: Missing GL version
  4. 奈飞win10安装包_Windows10系统修复Netflix应用程序错误
  5. 电脑值得收藏的10个网站,知乎超100万人推荐,让你办公事半功倍,还请低调使用!!!
  6. 什么是Microsoft Flow?
  7. c语言中短整形字节,C语言中各种整型类型所占字节数
  8. 如何解决:对路径的訪问被拒绝这个问题.
  9. 多策略融合的改进麻雀搜索算法
  10. 截图(终极利器---Win+Shift+S win10自带截图功能)