首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >桌面应用程序的Qt在平台供应商首选工具包上的缺点

桌面应用程序的Qt在平台供应商首选工具包上的缺点
EN

Stack Overflow用户
提问于 2022-11-28 05:21:55
回答 1查看 47关注 0票数 -3

Qt是用于开发针对KDE的应用程序的本地工具包,但也可用于创建针对GNOME、Windows和macOS的桌面应用程序。

与GNOME环境相比,KDE和GNOME环境都使用相同的应用程序构建,后者通常提供Qt主题,以产生与GTK主题类似的视觉效果。Windows和macOS构建是独立的目标,在这两种情况下,都使用了平台的本机小部件框架。

Qt应用程序与为每个平台编写的首选工具包编写的应用程序的结果比较如何?

特别是。

  • 与用GTK编写应用程序相比,在Qt中编写针对GNOME环境的应用程序有哪些缺点?
  • 与使用Microsoft首选工具相比,在Qt中编写针对Windows应用程序的工具有哪些缺点?
  • 与使用苹果首选工具相比,在Qt中编写针对macOS应用程序的工具的缺点是什么?

请注意,问题的范围超出了简单的图形用户界面。

EN

回答 1

Stack Overflow用户

发布于 2022-11-28 05:52:45

我不能代表GTK说话(因为我从来没有使用过它),但是一般来说,编写Qt而不是直接写入原生Windows或MacOS/ APIs的最大缺点是,您的应用程序将使用Qt模拟本地操作系统的“外观”,而不是直接使用本机功能。一般来说,这是可以的,但它确实会产生一些粗糙的边缘:

  1. 有时,Qt的QStyle渲染器使用的绘画逻辑与操作系统的原生图像不太匹配,导致Qt应用程序和本地编写的应用程序之间的细微差异,用户可能会注意到,也可能不会注意到。
  2. 如果/当操作系统的原生API呈现的GUI外观以某种向后兼容的方式发生变化时,所有本机API widgets应用程序都会自动使用新的/更新的外观,但基于Qt的应用程序不会(因为基于Qt的应用程序不使用本地API来呈现它们的小部件)。你将不得不等待一个较新版本的Qt推出,(希望)模仿“新的原生外观”,同时,你的应用程序看起来有点笨重,与类似的本地应用程序相提并论。(这在MacOS/X方面已经发生过几次,例如,当苹果将其应用程序的“标准外观”从蓝条纹改为灰纹,后来又变成了,呃,他们称之为MacOS的当前外观)
  3. 每个操作系统上都存在各种本机API,其功能不被任何相应的跨平台Qt公开。当然,您仍然可以通过直接调用本地API来访问Qt应用程序中的这些API,但是如果您针对多个平台,这意味着您需要为您想要支持的每个平台编写单独的本机API调用代码,这正是Qt (应该)帮助您避免的地方。
  4. 编写Qt意味着应用程序(通常)需要将Qt库捆绑到安装程序中才能运行,因为大多数操作系统中没有预先安装Qt库,并且要求用户单独安装它们被认为是用户不友好的。这为应用程序的下载和安装增加了几十兆字节。
  5. Qt的API可能(或不可能)比OS的本地API更适合您的目的.这可能是品味的问题。我认为Qt非常适合C++ API,但是您可能会发现像Swift或C#这样的东西比C++所能提供的任何东西都更适合您的目的。

当然,使用Qt的好处是,您只需要编写和维护单个代码库,而不是为希望您的应用程序附带的每个平台编写一个单独的代码基。对于一个小的开发团队来说,这种优势可以弥补很多。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74596309

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档