QT简介

  • 一、QT简介
    • 1、QT简介
    • 2、QT优点
  • 二、QT开发工具
    • 1、Qt Creator
    • 2、Qt Designer
    • 3、Qt Linguist
    • 4、Qt Assistant
    • 5、Qmake
    • 6、其他工具
  • 三、QT模块
    • 1、QT基础模块
    • 2、QT扩展模块
  • 总结

一、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 验证的支持。

总结

QT开发学习的入手第一节,从简介开始到各个模板的简单介绍。

QT开发学习-第一章-QT简介相关推荐

  1. 【菠萝狗四足机器人】二次开发教程--第一章 【简介与开发环境搭建】

    Py-apple Dynamics 简介与开发环境搭建 1 简介 1.1 何为 菠萝狗 和 Py-Apple Dynamics 1.2 目前支持的功能 2 开发环境搭建 2.1 硬件的搭建 2.1 软 ...

  2. QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面

    QT学习 第一章:基本对话框--利用Qt Designer设计多个UI界面 效果截图: 创建上文件夹Designers,使用Designer设计三个UI界面: First.ui Second.ui T ...

  3. 【正点原子FPGA连载】第一章 ZYNQ简介 -摘自【正点原子】领航者ZYNQ之FPGA开发指南_V2.0

    1)实验平台:正点原子领航者ZYNQ开发板 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手册+视频下 ...

  4. 【正点原子FPGA连载】 第一章 MPSoC简介 摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

    1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=692450874670 3)全套实验源码+手册+视频下载地址: h ...

  5. hls fifo_【正点原子FPGA连载】第一章HLS简介--领航者ZYNQ之HLS 开发指南

    1)摘自[正点原子]领航者ZYNQ之HLS 开发指南 2)平台购买地址:https://item.taobao.com/item.htm?&id=606160108761 3)全套实验源码+手 ...

  6. css层叠样式表基础学习笔记--第一章 css简介及引入

    第一章 css简介及引入 1-01 css简介 1-02 css优缺点 1-03 css书写格式 1-04 css引入格式 行内样式 内部样式 外部样式 导入样式 1-05 css注释 1-01 cs ...

  7. QGIS从零开始进阶 第一章 QGIS简介与安装

    这里写自定义目录标题 第一章 QGIS简介与安装 第一节 QGIS介绍 第二节 QGIS下载与安装 第一章 QGIS简介与安装 第一节 QGIS介绍 QGIS(原称Quantum GIS)是一个自由软 ...

  8. 第一章:Google简介

    第一章:Google简介 Google(www.Google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于 ...

  9. STM32单片机开发应用教程 (HAL库版) ---基于国信长天嵌入式竞赛实训平台(CT117E-M4)教程汇总 与第一章 硬件平台简介

    写在前面-- 作为<STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>教程汇总,第一章将介绍国信长天嵌入式竞赛实训平台(CT117E-M4) ...

最新文章

  1. python 微信发送图片失败什么原因_[已解决] Appium-Python 测试聊天时同时发送 9 张图片的问题...
  2. 深js, jsconf China 回顾
  3. 熊谢刚:AI和5G让容联·云通讯弯道超车
  4. Immutable 详解及 React 中实践
  5. 数据可视化【九】单向数据流交互
  6. socket buffer套接字缓存
  7. 【转载】贝叶斯决策论
  8. win10 设置游戏全屏
  9. linux实时信号的优势,c/c++开发分享Linux和实时信号
  10. 百度入股汽车照明模组晶合光电
  11. 大数据之-Hadoop环境搭建_hadoop目录结构---大数据之hadoop工作笔记0019
  12. 华为交换机命令 端口速率_华为交换机限速配置命令2016
  13. 未来是计算机科学的天下,美国留学信息与计算机科学发展方向
  14. UISlider 滑块控件
  15. 用Windows Live Writer写51cto博客
  16. 物业缴费管理系统 微小区 物业社区公众号开发 物业APP小程序源码
  17. android 安装在笔记本,笔记本安装安卓系统图解_笔记本电脑如何安装安卓系统-win7之家...
  18. BUG记录----潜艇游戏
  19. 使用pygame制作贪吃蛇小游戏
  20. Mac 从命令行启动模拟器

热门文章

  1. 在VBA中引用excel的函数
  2. 快速、准确判断三极管的工作状态
  3. js设计模式学习之单例模式
  4. Java 类的初始化
  5. java中文资源收集
  6. 数据结构入门(8) ——查找
  7. 0018-量化第五天:QMT—日内回转回测注释
  8. android照片美颜项目_照片美颜p图编辑app下载
  9. 描述 Outlook 2003 使用缓存 Exchange 模式
  10. 2021HECTF mmmmd5d5d5d5