什么跨平台GUI库对每个平台都有最本土的感觉?

Nic*_*ton 7 c c++ user-interface cross-platform

我注意到GTK在所有平台上都有统一的感觉,这对于Linux爱好者来说非常棒,但对于喜欢原生GUI感觉的人来说并不是那么好.

我还没有正确使用Qt,这就是为什么我不能说这是为每个平台提供最原生的感觉的最佳选择 - 所以有人可以确认Qt是否是我追求的?

Des*_*egr 7

我认为Qt是一个很好的选择,有一个本地的外观.

在Windows XP上,窗口小部件将以Luna样式呈现(Windows XP默认样式).在Vista/7上,它们将使用Aero主题进行渲染.在MacOS上,它们将以Aqua主题呈现.

在Linux上,它是不同的.Qt将使用他自己的主题(Plastique风格)或使用您的KDE主题(例如Oxygen主题).如果您更喜欢GNOME或XFCE(GTK),Qt也可以使用您的GTK主题.

替代文字

Qt应用程序可以完美地集成到Windows XP/Vista/7,MacOS,KDE,GNOME和XFCE桌面中.

  • 请注意,Qt仍然不是*原生的......它可能是模仿原生感觉的最佳人选,但它仍然是定制绘制的,一切都是. (2认同)

sma*_*uck 6

Wxwidgets使用底层平台绘制小部件(Linux下的GTK,Windows下的MFC ......),所以它不仅看起来是原生的,而且它是!

编辑 - 对于Mac,wxWidgets使用Carbon,目前正在转换到Cocoa for 3.0.

Edit2 - 我自己并没有使用QT,但我周围的人使用它很喜欢它.在我在Windows下使用的QT应用程序中,我感觉不那么原生,与桌面的集成度稍差,但它可能只是对这些特定开发人员技能的反思.

虽然wxWidgets有它的怪癖(在STL上有点差的集成,类似MFC的事件,有时很难掌握盒子选项,有限的wxGrid ......),但它们正在被开发,系统越来越好(新的wxAUI)对接小部件很棒).

最后,wxWidgets在我不需要它的时候已经非常好地避开了我的方式,允许我正确地使用它而不是我想要的东西.例如,我能够非常轻松地将自己的套接字代码插入到事件系统中.

我的感觉是wxWidgets和QT几乎相当,而且其中一个或另一个主要是关于个人适合.


Luk*_*ský 1

是的,我相信是的。Qt 尝试必须遵循本机的外观和感觉。不仅是小部件的外观,还包括按钮顺序等。当然,构建一个真正遵循所有本机 UI 约定的应用程序将会很困难(例如,Mac UI 设计与 Windows 非常不同),但是 Qt会对你有很大帮助。