使用开源镜像站安装与使用新版Qt

使用开源镜像站安装与使用新版Qt

1. Qt下载与安装

新版的QT(Qt5.14以后的版本,包括Qt6)安装方式和以往有所不同。自从qt5.14版本之后,qt公司修改了软件授权协议,开源版本的qt不再支持离线版本,只能使用在线安装包在线安装,但qt公司网站下载速度非常慢,在线安装很难成功,因此,要安装新版的qt软件,需要使用qt公司的在线安装器,结合开源镜像站的源码才能顺利安装。这里使用清华大学开源软件站镜像。

首先,仍然需要登录到qt网站注册账号,并从获取Qt 网页下载开源版本的在线安装程序(由于版权限制,在开源软件镜像站下载不到windows系统的在线安装程序,但macos和linux版本的在线安装程序可以通过开源镜像站在线安装包下载。

下载完成后,通过命令行导航到下载目录下,在命令行运行以下命令(假设下载后的文件名修改为installer.exe,如果没有修改,则需要使用下载的文件名,例如qt-unified-windows-x64-4.4.2-online.exe)。

installer.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

这样就可以利用开源镜像站来加速qt的安装了,但是,在安装过程中,你仍然需要登录你的Qt账号,才能正常安装与使用软件。

2. Qt都包含哪些内容

对新手来说,Qt包含的诸多模块和功能可能一时之间让人难以上手,简单来说,Qt包含了以下几个大的功能与模块:

2.1 Qt Creator – 用于应用程序开发的跨平台IDE

Qt Creator是程序员最常用的Qt产品,这是一个跨平台的集成开发环境(IDE),旨在为开发者带来最好的体验。 Qt Creator可在Windows、Linux和macOS桌面操作系统上运行,并允许开发人员在桌面、移动和嵌入式平台创建应用程序。

Qt Creater内部又包含了两个UI开发工具,Qt Quick Designer和Qt Designer。Qt Quick Designer是用于以Qt QML(一种类似于CSS和JavaScript的多范式语言)编写文件的所见即所得的编辑器。 它可以帮助您从头开始或基于现成的UI控件快速设计和构建Qt Quick应用程序和组件。Qt Designer是一个功能强大的跨平台GUI布局和表单生成器。 可以用带有传统C++ Qt API的屏幕表单快速设计和构建小部件和对话框。

2.2 Qt Design Studio-用户界面(UI)设计构成工具

Qt Design Studio 的用户主要是设计师,这是一个类似原型工具的产品。

Qt Design Studio 是UI设计构成工具,能将设计愿景转化为功能性产品 —— 它是一切汇集的地方。它也是通过动画、切换、3D和视觉效果为UI设计增添额外视觉魔法的绝佳工具。

3. 所有模块和功能

Qt是完整的软件开发框架,其整体结构和模块功能大致包含以下内容:

3.1 设计工具

实现酷炫的用户界面和极致的交互体验。

  • QMLLive为快速开发Qt Quick应用程序提供了一个实时重加载环境,极大地减少了部署和测试UI设计变化测试的时间。
  • Qt Design Studio用于创建动画用户界面的UI设计和开发环境。
  • Qt Designer使用Qt Widgets设计和构建图形用户界面(GUI)的工具。已集成到Qt Creator中。
  • Qt Shader Tools跨平台Qt着色器管道的工具。这使得图形处理和计算着色器可以用于Qt Quick和Qt生态系统中的其他组件。
3.2 开发工具

Qt有自己的跨平台IDE和丰富的工具,用它开发应用程序和用户界面,可以实现一次开发到处发布。

  • Qt Creator跨平台、完整的集成开发环境(IDE),供应用程序开发者创建用于多个桌面、嵌入式和移动设备平台的应用程序。
  • Qt Linguist一套将Qt C++和Qt Quick应用程序翻译成本地语言的工具。
  • qmakeQt自动化构建工具,简化了不同平台的构建过程。尽管qmake仍受支持,但Qt的官方构建工具是CMake,我们建议开发者在新项目中使用CMake。
  • CMakeCMake是用于简化跨平台开发项目的构建过程的工具。CMake自动生成构建系统,如Makefile和Visual Studio项目文件。
  • makeqpf为嵌入式Linux生成预渲染字体的工具。
  • Meta-Object Compiler (moc)为QObject子类生成元对象信息。
  • User Interface Compiler (uic)从用户界面文件生成C++代码。
  • Resource Compiler (rcc)在构建过程中将资源嵌入到Qt应用程序中。
  • Qt D-Bus XML compiler (qdbusxml2cpp)将 D-Bus接口描述转换为C++源代码。
  • D-Bus ViewerD-Bus对象和消息的内省工具。
  • Qt Visual Studio Tools将Qt开发工具集成进Microsoft Visual Studio。
  • Qt Distance Field Generator生成Distance域,以改善文本量大的Qt Quick用户界面的加载时间。
  • Qt Installer Framework提供一组工具和实用程序来为受支持的桌面平台创建安装程序。
  • Qt Assistant查看Qt文档的工具。
  • On-device Deployment and Debugging通过Qt Creator在设备上调试和部署Qt应用程序。
  • GUI Test Automation Tool新! froglogic Squish GUI Tester是全球数千家公司的首选工具,用于自动执行其图形用户界面和人机交互界面的功能回归和系统测试。
  • Cross-Compiler Code Coverage Tool新! froglogic Coco:多语言、多平台的代码覆盖率分析和剖析工具。
  • Test result management platform新! froglogic Test Center是一个轻量级的测试结果集中管理平台,将测试自动化连接到整个开发过程。
  • QDB用于控制Boot2Qt设备的工具。
  • Android Deploy Qt (androiddeployqt)这个工具可以自动在Android上部署Qt应用程序。
  • Windows Deploy Qt (windowdeployqt)这个工具可以自动在Windows上部署Qt应用程序。 
  • Tools for Active Qt实现Qt与ActiveX组件的集成。包括 Interface Description Compiler (IDC)、dumpcpp和dumpdoc等工具。
  • QDocQt开发者用于为软件项目生成文档的工具。
  • qmllint验证QML文件的语法有效性的工具。
  • qmlformat按照QML Coding Conventions自动格式化QML文件的工具。
  • QML Profiler使您能够获得必要的诊断信息,从而分析应用程序代码的性能问题。
  • Qt Configuration Tool (qtconfig-gui)为创建和构建更小的Qt二进制文件提供功能和工具。
  • Python Shiboken Wizard一个绑定生成器工具,可用于将C++项目暴露给Python。 
  • Qt Quick Compiler通过QML脚本和QML类型编译器,以接近本机的速度运行QML。前者将QML文件中的函数和表达式编译成C++类。后者将QML对象结构编译成C++类。 
  • Qt Quick Compiler Extensions减少重构工作以提高编译的覆盖率。预计启动和运行时间将缩短30%。
3.3 基础框架

这些API和库是Qt的基石。Qt拥有丰富的基本功能,提供更高级的UI和应用程序开发组件。

  • Qt Core供其他模块使用的非图形核心类。
  • Qt GUI图形用户界面组件的基类,包括OpenGL。
  • Qt Network该类能够让网络编程更加简单和易于移植。
  • Qt QMLQML和JavaScript语言的类,以及C++ API。
  • Qt Quick DialogsQt Quick应用程序用于创建系统对话框并与之交互的类。
  • Qt Quick Layouts在用户界面中,Layouts用于排列基于Qt Quick 2的Item。
  • Qt D-Bus通过D-Bus协议进行进程间通信的类。
  • Qt Quick声明式语言框架,用于构建具有自定义用户界面的高度动态应用程序。
  • Qt Quick Controls为桌面、嵌入式和移动设备创建高性能用户界面提供轻量级QML类型。这些类型采用简单的样式架构,非常高效。
  • Qt Quick TestQML应用程序的单元测试框架,其中测试用例被写成JavaScript函数。
  • Qt Test用于Qt应用程序和库进行单元测试的类。
  • Qt Widgets用C++ Widget扩展Qt GUI的类。
3.4 扩展模块

Qt是一个令人难以置信的全面框架,除了基本特性之外,它还包含了许多其他特性,旨在为您提供真正的专业开发体验。

  • Qt Digital Advertising新! 实现嵌入式屏幕/移动端/桌面端的数字广告创收的一体化开发解决方案。
  • Qt Multimedia音频、视频、收音机和摄像头相关功能的类。
  • Qt Multimedia WidgetsQt多媒体子模块,包含用于实现多媒体功能的基于widget的类。
  • Active Qt该类能够使应用程序调用ActiveX 和COM 接口。
  • Qt 3D支持2D和3D渲染的近实时仿真系统的功能。
  • Qt Bluetooth提供对蓝牙硬件的访问。
  • Qt Concurrent多线程类的封装,可在不调用底层Qt原始多线程框架的情况下实现多线程功能。
  • Qt Help用于将文档集成到应用程序中的类,类似Qt Assistant。
  • Qt Image Formats支持其他图像格式的插件:TIFF、MNG、TGA和WBMP。
  • Qt NFC提供对近场通信(NFC)硬件的访问。
  • Qt OpenGLOpenGL支持类。已弃用,建议使用Qt GUI模块中的QOpenGL类。
  • Qt Positioning提供对位置、卫星和区域监控类的访问。
  • Qt Print Support该类能够让打印更加简单和易于移植。
  • Qt Quick Widgets提供一个用于显示Qt Quick用户界面的C++ widget类。
  • Qt Remote Objects为在进程或设备之间共享QObject的API(属性/信号/槽)提供了一个易用的机制。
  • Qt SCXML提供从SCXML文件创建状态机并将其嵌入应用程序的类和工具。
  • Qt Sensors提供对传感器硬件和动作手势识别的访问。
  • Qt Serial Bus提供对串行工业总线接口的访问。目前该模块支持CAN总线和Modbus协议。
  • Qt Serial Port提供对硬件和虚拟串行端口的访问。
  • Qt SVG用于显示SVG文件内容的类。支持SVG 1.2 Tiny标准的一个子集。
  • Qt UI Tools用于在运行时动态加载在Qt Designer中创建的基于QWidget形式的类。
  • Qt WebChannel提供从HTML客户端对QObject或QML对象的访问,以实现Qt应用程序与HTML/JavaScript客户端的无缝集成。
  • Qt WebEngine用于在使用Chromium浏览器项目的应用程序中嵌入网络内容的类和函数。
  • Qt WebSockets提供符合RFC 6455的WebSocket通信。
  • Qt WebView通过使用平台自带的API在QML应用程序中显示网页内容,而不需要包含完整的网页浏览器栈。
  • Qt XMLSAX和DOM的C++实现。
  • Qt Wayland Compositor提供开发Wayland合成器的框架。
  • Qt SQL使用SQL进行数据库集成的类。
  • Qt Charts用于展示视觉上令人满意的图表的UI组件,由静态或动态数据模型驱动。
  • Qt Data Visualization用于创建酷炫的3D数据可视化的UI组件。
  • Qt Network Authorization为基于OAuth的在线服务授权提供支持。
  • Qt Virtual Keyboard实现不同输入方法的框架以及QML虚拟键盘。支持本地化键盘布局和自定义视觉主题。
  • Qt Safe Renderer提供可用于在功能安全系统中呈现关键性安全项目(如如警告指示器等)的UI渲染组件。
  • In-Vehicle Infotainment Reference UI车载信息娱乐(IVI)系统的Qt参考UI实现。
  • Qt Application Manager为多应用嵌入式系统提供基础支撑,负责应用生命周期管理。
  • Qt Device Utilities提供用于控制嵌入式应用程序中各种设置的功能。
  • Qt MQTT机器对机器(M2M)协议,以最小的开销提供通信信道。
  • Qt OPC UA用于与工业应用中的数据建模和数据交换协议OPC UA交互的Qt API。
  • Qt CoAP受限应用协议(CoAP)是一种机器对机器的网络传输协议,用于物联网中受限节点和网络。
  • Qt Quick Ultralite Controls提供可定制的轻量级UI控件,以为嵌入式设备创建高性能的用户界面。
  • Qt Quick Ultralite图形渲染引擎,用于在低内存需求的资源受限硬件上渲染QML应用程序。
  • Qt for MCU Essentials Deployment Platforms对特定硬件的适配,以使得Qt Quick Ultralite应用程序运行于目标硬件上。
  • Qt for MCU Ultimate Deployment Platforms对特定硬件的适配,以使得Qt Quick Ultralite应用程序运行于目标硬件上。
  • Qt Design Studio Bridge用于Qt Design Studio将Adobe Illustrator、Adobe Photoshop、Adobe XD和Sketch Bridge、Figma Bridge的图稿转换为Qt Quick文件。
  • Qt Charts for MCUsQt Charts for MCUs为Qt Quick Ultralight提供了易于使用的图表组件。
  • Calendar for Qt QuickCalendar提供了模块化构建块的集合,用于在Qt Quick中创建日历。
  • TreeView for Qt QuickTreeView 提供了一种QML类型来显示来自任意QAbstractItemModel的数据。它通过可扩展和可折叠的节点扩展了TableView,可在列表或表格模型中使用。
  • Cursor Navigation光标导航为单个 UI 元素(例如按钮)提供了选择器。 除了传统矩形UI中使用的四向导航之外,它还允许自由导航以向任何方向移动光标。
  • Qt Quick Timeline启用基于关键帧的动画和参数化。
  • Qt Lottie Animation用于渲染JSON格式的图形和动画的QML API,由Adobe ® After Effects的Bodymovin插件导出。
  • Qt 5 Core Compatibility APIsQt 6不再被支持此模块包含的Qt核心API,因此在Qt 6中已被移除。
  • Qt State Machine提供用于创建和执行状态图的类。
  • Qt Quick 3D为创建基于Qt Quick的3D内容或UI提供了一个高级API。
  • Qt Interface Framework (former IVI)提供工具和核心API,以实现中间件API、中间件后端和中间件服务。
  • Qt for Android Automotive OS Car Service API用于C++代码与Car API交互的Java绑定。
  • Simulink support for Qt Design Studio使用Simulink连接器将仿真连接到用户界面。Simulink是一个基于MATLAB的图形化编程环境,用于建模、仿真和分析多领域动态系统。
  • Qt PDF显示PDF文件。允许在应用程序中显示产品文档。 

作者
魏智勇(John)
加入讨论

此站点使用 Akismet 来减少垃圾评论。了解我们如何处理您的评论数据

1条评论

魏智勇(John)

站长,80后,创业者,擅长工业自动化与信息化技术,熟悉各种PLC,组态软件,熟悉计算机技术,熟悉LabVIEW、C,C#,JavaScript程序设计技术。