Qt应用程序在Windows下看起来和感觉都是原生的吗?

时间:2011-09-04 10:00:09

标签: windows qt

我准备将我的一个Mac应用程序移植到Windows。 Mac应用程序使用Apple的原生Cocoa / Appkit框架进行UI。 UI是Obj-C代码,核心应用程序功能是可移植的C ++代码。

现在我正在寻找一种方法将应用程序移植到Windows并使其外观和感觉是Windows用户的原生。我的选择是微软的MFC和Qt框架。虽然我确信MFC应用程序具有原生的外观和感觉,但我记得从MFC编码框架本身是非常可怕的。我从开发人员的角度看了Qt并且喜欢它。

但由于我不是Windows用户,因此我不知道Qt应用程序是否具有本机Windows外观。

因此我的问题是:我可以制作(没有很多工作)Qt应用程序的行为,看起来像是用本机Windows框架编写的吗?

5 个答案:

答案 0 :(得分:24)

您可以轻松更改Qt应用程序的样式。在Windows和Mac上,默认样式实际上是使用本机函数来绘制窗口,控件等。

此外,Qt确实采取了许多措施,因此即使是应用程序的最小方面(您甚至不会想到的东西)也会模拟特定平台的本机行为。因此,您的Qt应用程序也可以在移植时替换当前的Mac应用程序。

我非常建议您不要使用MFC,您会后悔(特别是如果您从未使用过本机Win32 API)。这与Qt在灵活性和易用性方面完全相反。

答案 1 :(得分:12)

正如您可以阅读doc.qt.io

  

Qt Widgets是典型的传统用户界面元素   在桌面环境中找到。小部件很好地融入了   底层平台在Windows,Linux和Linux上提供原生外观   Mac OSX。

看看Qt Widget Gallery

  

Qt对小部件样式和主题的支持使您的应用程序成为可能   适合原生桌面环境。

您可能对名为How to Make Your Qt Application Look Native的演示文稿感兴趣:

  

Qt在每个支持的平台上使用原生样式API,但是在那里   是一些额外的技巧,你可以用来确保你的Qt为基础   应用程序的外观,感觉和行为更好。这个演讲会   通过示例,提示和滴答来帮助您创建   应用程序在所有平台上看起来都很棒。

答案 2 :(得分:3)

他们看起来有点感觉不太好。

特别是如果你设计的应用程序与Windows一样(就像你使用可可)。我还没有看到色带(有商业第三方克隆)和MFC蓝/黑色样式或分组图标视图中的列表视图。

不幸的是,WxWidgets的编程也非常难看。肯定比MFC更好。 如果您想要一个真正的原生应用程序,MFC(如果您需要快速和小型)或.NET(如果您不关心速度),则只剩下两个选项。

之前的公司在MFC之上有一个50000 LOC层,这对于编写1992这个框架来说更为舒适是必要的。不幸的是,我不知道市场上有什么相同的东西。

问题是,您的客户是否真的很欣赏它成为销售因素的原生外观。我现在正在使用QT因为它足够好了。

答案 3 :(得分:2)

你应该看一下Style reference。是的,这是可能的,并且不需要大量的工作(根本)。

答案 4 :(得分:2)

不,他们没有。它很接近,但控件看起来非本机。人们的意思是它使用Win32 API渲染控件,类似于Windows呈现本机控件的方式,因此性能应该是可比较的。

只有Windows特定于Windows的Windows窗体使用实际的本机Win32控件才能使用常见的UI元素。