Linux GUI开发

15
我有一个大型GUI项目,希望将其移植到Linux平台。 在Linux中,使用哪个框架进行GUI编程最受推荐?KDE/Gnome这样的框架可用于此目的吗?还是最好使用其他更通用的框架而不是X?
如果我选择其中之一,那么我会失去选择了另一个的Linux用户市场份额。(是的,我知道它们有重叠)
是否有更好的方法?或者说我需要创建两个完整的GUI应用程序来实现近乎100%的覆盖率?
不必要拥有跨平台解决方案,也不需要在Win32上工作。
4个回答

15

你最好的选择可能是将它移植到一个跨平台的小部件库,比如wxWidgets,这将使你的应用能够在wxWidgets支持的任何平台上运行。

同样重要的是要区分Gnome库和GTK以及KDE库和Qt之间的区别。如果你编写的代码使用GTK或Qt,那么它应该可以很好地适用于任何桌面环境,包括不太流行的桌面环境像XFCE。如果你使用其他Gnome或KDE特定的库来执行非控件相关任务,你的应用程序在不同的桌面环境间的可移植性会受到影响。


我使用wxPython来实现GUI。Python和wxWidgets都可以在所有主要平台上移植,并且使用wxWidgets应用程序看起来“本地化”。显然(我从未尝试过),PY2EXE与wxPython兼容。 - CyberFonic
两年过去了,我面临着与原帖作者相同的问题;这是我读到的第一个相当清晰的答案。期间有什么变化吗? - slashmais

5

我推荐使用wxWidgetsQt。它们都非常成熟、结构良好且跨平台,有不错的文档和示例源代码。


4

Gnome应用程序可以在KDE桌面上运行,反之亦然;您不会将任何人锁在外面。就工具包而言,它相当主观。所有工具包都相当跨平台。如果您不是开源的,则GTK +将是更便宜的选择,因为Qt仅适用于开源使用,而GTK +是LGPL。


5
现在更新了:Qt也是LGPL许可证。有关更多信息,请访问http://www.qtsoftware.com/about/licensing/frequently-asked-questions。 - Jonik
的确。这是对之前情况的巨大改进。 - Bernard

0

你想过使用Mono吗?像Paint.NET这样的程序在Linux和Windows下都能很好地工作。


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