我只是好奇是否有一个 gui 框架可以让你在其他平台上使用 mac 外观和感觉。大概使用原生 API 的框架不会有帮助(例如 wxwidgets)。qt 部分使用本地 API 用于 mac 外观,所以这没有用。摇摆呢?
5 回答
一般来说,不要这样做。不同的平台有不同的约定,你的软件应该遵循其平台的约定,以尽量减少用户的认知负担。
除非,我猜,你是唯一一个你期望使用它的人。
从法律上讲,您不能在另一个平台上创建 Mac 的外观和感觉。苹果拥有它的版权。
然而,Quaqua Java 外观实现了具有这种外观的 Java 小部件。如果您有充分的理由以非商业方式使用它,它可能是一个解决方案。
每个操作系统和桌面管理器都有不同的方式来实现 GUI 元素。如果您希望使用本机控件,那么尝试将看起来与 OSX 完全相同的应用程序移植到这些平台上会很困难。其次,正如 Gred 所说,每个人都有自己的做事方式,并且可能会因显示或丢失不常用的图标、符号和控件而导致用户问题。
不过,如果您想尝试这一点,FireFox 等多平台 Web 浏览器之一可能会让您了解如何在平台上保留相同的一般外观和感觉。
祝你好运,希望这对一些人有所帮助。
为了回答最后一个问题,Swing 在非基于 Mac 的平台上不附带 Mac 外观。这也适用于其他特定于平台的外观元素。
虽然不是最好的解决方案,但对于 Java,Nimbus L&F是一个不错的选择……但由于它现在包含在 Java 中(从 6u10 开始),它不再单独提供。
您可以在 Qt [可能还有 GTK*] 中实现自己的样式,以尝试看起来相同(请参阅QStyle)。但是,这可能不值得花费时间和精力,并且会激怒一些用户。有一些 Windows 主题试图模仿外观。我知道新版本的平行线附带了类似的东西,但它看起来很有趣,因为边距、间距、字体等完全错误。