Linux GUI开发
时间:2020-03-05 18:45:22 来源:igfitidea点击:
我有一个大型的GUI项目,我想移植到Linux。
在Linux中用于GUI编程的最推荐框架是什么?诸如KDE / Gnome之类的框架是否可用于此目标,还是最好使用X以外的更通用的东西?
我觉得,如果我选择Gnome或者KDE中的一种,那么我将为一部分选择了另一种Linux的Linux市场关闭市场。 (是的,我知道有重叠)
有没有更好的办法?还是我必须创建2个完整的GUI应用程序才能覆盖近100%?
没有必要也可以在Win32上使用的跨平台解决方案。
解决方案
回答
Gnome应用程序可以在KDE桌面上运行,反之亦然;我们不会将任何人拒之门外。就工具包而言,这是相当主观的。所有工具包都是相当跨平台的。如果我们不是开源的,那么GTK +将是更便宜的选择,因为Qt仅免费提供给开源使用,而GTK +是LGPL。
回答
最好的选择是将其移植到跨平台的小部件库,例如wxWidgets,这将使我们可以移植到wxWidgets支持的任何平台。
区分Gnome库和GTK,以及KDE库和Qt也很重要。如果我们编写代码以使用GTK或者Qt,则它对于任何桌面环境(包括不太受欢迎的XFCE这样的桌面环境)的用户都应该可以正常工作。如果我们使用其他特定于Gnome或者KDE的库来执行与小部件无关的任务,则应用在桌面环境之间的可移植性将降低。
回答
我们是否考虑过使用Mono? Paint.NET之类的程序在Linux和Windows下都可以很好地工作。
回答
我建议使用wxWidgets或者Qt。它们都是成熟的,结构良好的跨平台的,并具有不错的文档和示例源代码。