当前位置: 首页 > news >正文

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 ApplicationQt 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

  • 建议:根据需求决定

  • 原因:这是虚拟键盘功能,主要用于触摸屏设备(如平板、嵌入式设备等)

  • 勾选场景:你的应用需要在触摸屏设备上运行,且没有物理键盘

  • 不勾选场景:桌面应用或设备有物理键盘

http://www.dtcms.com/a/568748.html

相关文章:

  • 快速搭建分布式链路追踪系统:SkyWalking全攻略
  • 45 C++智能指针的原理与模拟实现,内存泄漏与RAII
  • 时序数据库系列(二):InfluxDB安装配置从零搭建
  • Rust实战开发之图形界面开发入门(egui crate)
  • 如何在centos 中运行arm64程序
  • 工业时序数据库TDengine 架构、性能与实战全解析
  • 朗迪锋@2025人因工程与智能系统交互国际会议
  • django初识与安装
  • 哪个网站做译员好设计页面跳转
  • 嘉兴网站制作费用手机html5网站开发
  • <P2016 战略游戏>
  • OpenCV环境配置(QT 6.6.1 MSVC2019 64bit + OpenCV – 4.12.0)
  • 用zookpeer搭建Hadoop的HA集群,组件启动的启动顺序是什么?
  • 中国石油西北化工聚丙烯产品首次出口非洲
  • Node.js 自动替换脚本工具:一键完成多项目批量修改与资源替换
  • 【智能手表篇】基于Handdle AI的台式电脑一体机Housing外观缺陷检测方案
  • 域名申请了怎么做网站高级搜索百度
  • 北京 网站策划公司c2c模式类型
  • 【零基础学MySQL】第十五章:分库分表
  • Android Gradle 的 compileOptions 与 Kotlin jvmTarget 全面理解(含案例)
  • K8s Pod生命周期完全指南
  • 生成式搜索不识你?用GEO重建识别路径
  • CSP-J教程——第一阶段——第四课:算术与逻辑运算
  • k8s——pod控制器详解
  • k8s --- resource: Pod, ReplicaSet and Deployment
  • App 上架需要什么?从开发者账号到开心上架(Appuploader)免 Mac 上传的完整流程指南
  • 高端定制网站网站建设建设多少钱
  • 写SCI论文需要用到的工具这了
  • WebFlux 执行流程与背压机制剖析
  • wordpress4.9+多站点WordPress购物按钮