适用于Mac和Windows的本地化GUI框架

4
我目前正在寻找一个GUI框架,它在Mac和Windows下看起来和使用起来都很本地化。另外,我不想使用C++,而是使用C#、Java、Ruby或Python等语言。非常感谢。
7个回答

10

看看wxWidgetsQT

然而,请考虑这些工具包只能让你得到一个大概的平台外观和感觉。通常,它在Windows上感觉“好”,但在Mac上通常看起来更像是移植自Windows应用程序而不是本地应用程序。就连苛刻的Mac用户也不太喜欢这种感觉......此外,你经常受限于系统的公共子集。

如果你想创建一个出色的应用程序,请考虑将代码分为平台中立的业务层和平台特定的GUI层,并使用该平台的本机工具在每个平台上实现GUI。是的,这会更费力,但根据你的目标而言可能是值得的。


2
还有由微软和苹果定义的不同UI指南 - 例如OK和Cancel按钮的顺序 - 这意味着最好的解决方案是像你建议的那样为每个平台提供一个自定义UI。 - Mark Pim
这是非常正确的。另一个情况是某些项目应该出现在菜单栏中。 - Nick Van Brunt
1
我使用一款跨越Windows和OSX的应用程序,它是用Qt编写的,在Windows或OSX上都不感觉本地化。在Windows上看起来“不对劲”,在OSX上更糟糕:它的功能出现了问题(例如,不支持标准快捷键)。关于Linux,我不能发表太多评论;该应用程序在那里可用,但我没有使用过。 - Donal Fellows

5

1
wxPython是wxWidgets的Python变体,因此答案可能是wxWidgets。 - oefe
1
wxWidgets基础是一个C++框架,据说有人不想使用它。 - Nick Van Brunt

4

在Java中,您可以使用SWT,它是围绕不同操作系统上可用的本地小部件的包装器。

如果您正在使用Eclipse进行开发,则还应该查看图形GUI构建器Jigloo,它可以生成SWT代码(并且能够处理对生成的代码的手动更改)。 它有一个非常好的逐步教程,指导您通过创建第一个SWT窗口的简单过程。


3

您是否考虑使用QT框架?它是一个跨平台工具包,适用于所有主要操作系统。主要的代码是C++,但他们也提供了大多数流行语言的绑定,包括C#和Ruby。我相信Python也是如此。


Qt是最具本地外观的跨平台框架。pyQt是Qt最完整的非C++绑定。 - Javier
只是想澄清一下,Trolltech(现在为Nokia)生产官方的C++ Qt以及一个名为Qt Jambi的Java包装器。C#/Ruby/Python(称为PyQt4)等绑定是非官方的,并由不同的团队维护。 - Barry Wark

2
尝试使用tkinter.ttk。可以在以下网址找到很好的教程:http://www.tkdocs.com/tutorial/firstexample.html。请确保在教程右侧的下拉菜单中选择python。alt text
如果您将教程设为单个页面(第二个菜单栏上的链接),则可以下载离线查看教程。

2
Java和Swing如何?它们工作得很好,并且有来自苹果的扩展来处理一些特定问题(例如苹果菜单等)。

除非使用当前平台的适当外观和感觉,否则它不会具有原生外观。 - PhiLho

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接