乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - QT(v5.15)

2020年5月26日,Qt 5.15 LTS发布

https://www.qt.io/blog/qt-5.15-released

乘风破浪,遇见最美Windows 11之现代Windows桌面应用开发 - QT(v5.15)

我很高兴地宣布,我们今天已经发布了Qt 5.15 LTS。Qt 5.15将是Qt 5系列的最后一个功能版本。因此,它有点特别,而且为Qt 6,我们的下一个主要版本做了大量的准备工作。虽然Qt 5.15对我们所有的用户都是照常支持的,但Qt 5.15也将为所有商业许可证持有者提供为期三年的长期支持,包括新的Qt for Small Business。三年支持期结束后,还可以选择延长支持。

QT开发工具(官方清单)

https://doc.qt.io/tools.html

Qt工具在所有支持的开发平台上运行,促进了应用程序的设计、开发、测试和部署。

Qt Creator

https://doc.qt.io/qtcreator/

一个跨平台、完整的集成开发环境(IDE),用于开发针对桌面、嵌入式和移动平台的应用程序。

Qt Design Studio

https://doc.qt.io/qtdesignstudio/

一个UI设计和开发环境,用于创建动画UI。

Qt 3D Studio

https://doc.qt.io/qt3dstudio/

一个用于创建交互式三维演示、UI和应用程序的合成工具。

扩展Qt Creator

https://doc.qt.io/qtcreator-extending/

一本记录了Qt Creator的各种功能扩展方式的手册。

Qt Designer

https://doc.qt.io/qt/qtdesigner-manual.html

用Qt Widgets设计和构建图形用户界面的工具。

Qt语言学家(Linguist)

https://doc.qt.io/qt/qtlinguist-index.html

用于将Qt C++ 和Qt Quick应用程序翻译成当地语言的工具。

Qt助手(Assistant)

https://doc.qt.io/qt/qtassistant-index.html

一个用于查看Qt帮助文件格式的文档的工具。

Qt VS 工具

https://doc.qt.io/qtvstools/

将Qt开发工具集成到Microsoft Visual Studio中。

伽马射线(GammaRay)

https://doc.qt.io/GammaRay/

一个用于在运行时观察和操作Qt应用程序的自省工具。

QML Live

https://doc.qt.io/QMLLive/

一个本地和远程的Qt Quick 实时重载系统。

Qt Installer Framework

https://doc.qt.io/qtinstallerframework/

一套用于创建桌面平台安装程序的工具和实用程序。

构建工具: CMake

https://doc.qt.io/qt/cmake-manual.html

在Qt中使用CMake构建工具的文档。

构建工具: qmake

https://doc.qt.io/qt/qmake-manual.html

qmake 编译工具的文档。

构建工具: Qbs

https://doc.qt.io/qbs/

Qbs 编译工具的文档。

QDoc手册

https://doc.qt.io/qt/qdoc-index.html

文档构建工具的用户手册。

QT质量工具(官方清单)

https://doc.qt.io/tools.html

GUI测试自动化和代码覆盖工具。

Squish

https://doc.froglogic.com/squish/latest/

一个专业的自动化GUI测试框架。Squish使得测试基于各种工具包的GUI应用程序成为可能,包括Qt。

Coco

https://doc.froglogic.com/squish-coco/latest/

一个用于C/C++、C#和QML的代码覆盖工具链。

Test Center

https://doc.froglogic.com/squish-testcenter/latest/

一个结果服务器,提供了一个集中的地方来存储所有的测试结果。

QT开发工具(民间清单)

主要工具

  • Qt Designer — 所见即所得的界面设计工具, 可以用拖拽的方式将控件排布在界面上,支持layout, 支持signal/slot编辑。 生成的文件保存为ui格式, ui是xml格式的普通文本文件, 默认编码为utf8, 所以界面上还可以直接写中文(但是不推荐这么做哦,还是应该用标准的Qt国际化的方法来翻译界面。).

  • Qt Assistant — 类似MSDN的文档查看工具, 支持html的子集(图片、超链、文本着色), 支持目录结构、关键字索引和全文搜索, 可以很方便的查找Qt的API帮助文档,所以是编程必备、使用率最高的工具。

  • qmake – 用于生成Makefile(编译的规则和命令行)的命令行工具。 它是Qt跨平台编译系统的基础。 它的主要特点是可以读取Qt本身的配置, 为程序生成与库一致的Makefile。

  • Qt Linguist — 被称为Qt语言家的Linguist是用于界面国际化的重要工具, 但其实它并不能帮你翻译,它的主要任务只是读取翻译文件、为翻译人员提供友好的翻译界面。 听起来这个功能好像不太够, 没错! Linguist必须要和其他工具一起用才能完成Qt国际化。 关于国际化可以参考bug写的Qt国际化和本地化。 另外,大家可能还不知道, Linguist工具从4.5开始可以支持Gettext的PO文件格式了哦~

  • tmake – 和qmake功能一致,是qmake的前身。从Qt3开始tmake全面被qmake替代。

  • qtdemo – Qt例子和演示程序的加载器, 也可以看作是Qt提供的一个有用的工具。 有了这个工具, 用户可以很方便的查看Qt提供的多姿多彩的例子程序,从中选择自己需要的, 不仅可以看到程序运行的情况,还可以查看源码和文档。

次要工具

  • lupdate – Qt国际化的重要命令行工具之一,它的功能是从源码文件或其他资源文件中提取需要翻译的字符串,并将之用正确的编码和格式存入ts文件中。 这个ts文件是xml格式的普通文本文件,但不建议用普通的文本编辑工具来编辑,最好的方法是用Linguist来处理这个文件。

  • lrelease – Qt国际化的重要命令行工具之一, 它负责将ts文件转化为程序使用的qm文件。转化过程最大的变化是去掉了原始文件中所有的空白和未翻译的内容, 并将存储格式压缩, 所以qm文件是保留所有有效信息但占用硬盘最少的格式。

  • uic – UI Compiler, 顾名思义,这个命令行工具是用来编译ui文件的,它能把ui文件转化为编译器可以识别的标准C++文件,生成的文件是一个.h。 这个工具通常情况下不需要用户去手动调用, qmake会帮你管理ui文件和调用uic工具。 具体的可以参考笔者的另外一篇帖子 Qt4中ui文件的使用方法。

  • moc – Meta Object Compiler, 直译过来是元对象编译器,简单的说这是个预编译工具,用来生成一些与信号和槽相关的底层代码。 该工具处理带有Q_OBJECT宏的头文件, 生成形如moc_xxx.h, moc_xxx.cpp的C++代码,之后再与程序的代码一同编译。 同样,这个命令行工具也不需要用户手动调用, qmake会在适当的时候调用这个工具的。

三级工具

  • rcc – Resource Compiler资源文件编译工具。 Qt的资源系统是自己一套特别的设计, 工程中可以包含后缀为qrc的资源文件, 由rcc工具根据qrc的内容将相关的文件编译为二进制,并与源码编译在一起,保存在应用程序的二进制文件中。 这个命令行工具同样不需要手动调用,由qmake调用。

  • qconfig – QtEmbedded feature配置工具。 众所周知,嵌入式版本的Qt可以自己定义一个feature定义文件叫qconfig-xxx.h,里面定义一些预定义的宏, 通过这个文件可以在编译阶段去掉一些feature, 以减少Qt库的footprint。 这个qconfig工具就是用来编辑feature定义文件的。 具体的参考笔者的帖子简单Qt裁剪。

  • qt3to4 – 用于Qt3程序升级为Qt4程序的移植工具。 它的原理是根据xml文件里定义的一系列文本替换的规则去做文本替换, 所以…怎么说呢,这个工具的功能比较有限, 不可避免的需要很多人工干预才能解决编译和运行的错误。 故而笔者的建议还是重头写程序比较靠谱。

  • qvfb – 一般做嵌入式开发的用户对这个工具应该不陌生。 这是个有几分神奇色彩的模拟器, 它可以模拟framebuffer设备(尺寸、色深),还可以通过skin文件模拟硬件键盘的布局(包括特殊键值的按键), 是在x86环境下调试嵌入式程序必不可少的有效工具。 无怪乎minigui也比较无耻的偷窃了这个工具…实在是诱惑力太大了

四级工具

  • qtconfig – X11系统下用于配置Qt环境的工具。 可以设定字体、Style、Palette、打印机等。 设定信息会保存在用户家目录,所以可以按不同用户的喜好来设定不同的值。

  • qcop – 嵌入式环境qtopia带的进程间通讯的工具, 用于进程间的通讯和进程间API的相互调用。

  • pixeltool – 类似放大镜的工具,可以看清鼠标滑过的每个像素。

  • findtr – 从源码提出翻译字串,保存为Linux的po格式。 po是Linux系统下国际化方法gettext使用的标准格式, 所以这个工具是为了和Linux本身的国际化方法兼容而提供的。

  • uic3 – Qt4中提供的处理Qt3 ui文件的工具,生成的代码是Qt4的代码,可以放在Qt4的工程里使用。 值得注意的是,uic3生成的代码有一部分会使用Qt3Support库的API, 不是纯的Qt4代码。

  • phonesim – Qtopia里带的奇妙工具, 用于调试手机环境。 可以模拟提供AT命令接口的modem设备。 有了这个工具就可以在桌面环境下调试应用和modem之间的交互逻辑, 简单的说Qtopia里像接打电话、收发短信、STK程序等功能都是靠这个工具来调试的。

  • makeqpf – Qt为了嵌入式环境的需要自创了一种字体格式叫qpf, 这个格式是个位图字体, 它把已经预渲染的文字直接保存成二进制内容, 使用的时候可以用内存映射加载, 从加载到绘制的过程不需要计算,所以速度非常快。 makeqpf工具就是用来创建qpf格式的字体的,它可以读取系统中的字体格式, 根据用户的设定生成特定字号规格的qpf文件供用户使用。

其他工具

  • lconvert – 4.5版本新引入的工具, 用于翻译文件之间的格式转换, 将ts格式转换为其他工具可读取的XLIFF格式。

  • qdbusxml2cpp – QtDBus XML编译器, 用于将xml格式的DBus远程调用的对象和函数API的描述文件翻译为C++代码。 这个工具创建的是个代码的框架,里面的API具体实现要用户自己来填充。

  • D-Bus Viewer — 可以用来查看D-Bus对象及其对外提供的API, 可以通过双击API的方式调用某个方法, 还可以注册信号, 这样所有发出的信号都会显示在窗体中。

  • IDC – ActiveQt模块提供的命令行工具,用于将Qt二进制转化为COM server。 该工具由qmake调用,不需要手工执行。

  • dumpcpp – ActiveQt模块的命令行工具, 可以为一个类型库创建C++的命名空间。

  • dumpdoc – ActiveQt模块的命令行工具,可以为COM对象创建Qt风格的文档。

  • testcon – ActiveQt模块的命令行工具, 全称为ActiveX Test Container, 也就是可以作为ActiveX控件的容器, 这样可以把控件安装到系统中再测试。 该工具会提供详细的事件和属性变化的log信息。

  • Qt Script Debugger — 用于调试Qt Script的工具,可以单步运行,查看输出等。 Qt文档里有很详细的一篇专门讲这个的,有兴趣的来看下: Qt Script Debugger Manual

QT模块列表(官方清单)

https://doc.qt.io/qt-5/qtmodules.html

Qt Essentials

Qt Essentials定义了Qt在所有平台上的基础。它们可以在所有支持的开发平台和测试的目标平台上使用。除了测试模块将保持源代码兼容外,这些模块在整个Qt 5中都将保持源代码和二进制兼容。

基本模块是通用的,对大多数Qt应用程序都很有用。一个用于特殊用途的模块被认为是附加模块,即使它在所有支持的平台上都可用。

下表列出了Qt的基本模块。

参考

上一篇:nmon下载与使用


下一篇:Linux驱动-驱动分离与分层