Qt Quick ApplicationQt Quick Application (compat)
一、绪论
我们在创建Qt Quick时可以看到两种选项:

这里主要是介绍二者的区别以及创建时的选择。
二、简介
简单来说:
-
Qt Quick Application:现代、推荐的模板,使用最新的 Qt Quick(通常是 Qt Quick 2)。
-
Qt Quick Application (compat):旧版、兼容性模板,使用已过时的 Qt Quick 1。
下面是详细的对比:
Qt Quick Application
这是创建新 Qt Quick 项目的标准且推荐的选择。
-
Qt Quick 版本:基于 Qt Quick 2 及更高版本。
-
技术栈:
-
QML 引擎:高性能的、基于硬件加速的 QML 引擎。
-
图形后端:通常使用 Scene Graph,一个优化的渲染器,能充分利用 GPU 进行硬件加速,从而实现流畅的动画和复杂的视觉效果。
-
UI 组件:使用
QtQuick.Controls 2系列模块。这些控件是为性能和现代化而从头重写的,设计更加简洁、渲染更快、更易于定制。
-
-
适用场景:
-
所有新开发的 Qt Quick 应用程序。
-
需要现代、流畅用户界面的项目。
-
目标平台包括桌面(Windows, macOS, Linux)、移动(iOS, Android)和嵌入式设备。
-
-
特点:高性能、功能丰富、持续维护。
Qt Quick Application (compat)
这个模板是为了向后兼容而保留的,主要用于维护旧的 Qt Quick 1 项目。新项目不应选择它。
-
Qt Quick 版本:基于 Qt Quick 1。
-
技术栈:
-
QML 引擎:较旧的 QML 引擎。
-
图形后端:基于传统的 QGraphicsView 框架。它主要依赖 CPU 进行渲染,在复杂场景下性能不如 Scene Graph。
-
UI 组件:使用
QtQuick.Controls 1(或Qt.labs.controls 1)系列模块。这些控件比较重,定制起来更复杂,性能也较差。
-
-
适用场景:
-
维护和编译一个非常古老的、使用 Qt Quick 1 编写的现有项目。
-
在不升级 Qt Quick 版本的情况下,快速验证某个旧代码。
-
-
特点:已过时、性能较低、不再接收新功能。
三、总结对比表
| 特性 | Qt Quick Application | Qt Quick Application (compat) |
|---|---|---|
| 核心版本 | Qt Quick 2(现代) | Qt Quick 1(过时) |
| 渲染架构 | Scene Graph(硬件加速) | QGraphicsView(主要依赖 CPU) |
| UI 控件 | QtQuick.Controls 2(轻量、高性能) | QtQuick.Controls 1(笨重、低性能) |
| 性能 | 高,适合流畅动画 | 较低,复杂界面易卡顿 |
| 推荐度 | 强烈推荐用于所有新项目 | 不推荐,仅用于维护旧项目 |
| 状态 | 积极开发和维护 | 已过时,不再更新 |
结论
对于你或任何其他开发者来说,在创建新项目时,应该始终选择 Qt Quick Application。
除非你明确知道你正在处理一个十多年前创建的、且从未升级过的旧项目,否则请完全忽略 Qt Quick Application (compat) 选项。
四、创建Qt Quick Application时选择的detail

☑ Creates a project that you can open in Qt Design Studio
-
建议:勾选
-
原因:Qt Design Studio 是专业的UI设计工具,勾选后可以在Qt Design Studio中打开和设计界面,对于UI开发很有帮助。
☐ Use Qt Virtual Keyboard
-
建议:根据需求决定
-
原因:这是虚拟键盘功能,主要用于触摸屏设备(如平板、嵌入式设备等)
-
勾选场景:你的应用需要在触摸屏设备上运行,且没有物理键盘
-
不勾选场景:桌面应用或设备有物理键盘
