跨平台,与语言无关的GUI标记语言?

时间:2020-03-05 18:38:28  来源:igfitidea点击:

我是在那天学习Swing的,但是现在我已经转向Python,并希望使用GUI制作一些应用程序。我没有时间学习新的GUI API,所以我一直在使用Jython,但是我更喜欢使用CPython。

如果我可以使用一个简单的标记来切换GUI库,那就太好了。如果我可以跨语言使用相同的标记语言,那将更好,这样我就可以快速为所使用的任何语言制作GUI。有人知道这样的标记/库吗?

我见过像Glade和wxWidget的标记之类的标记(我忘记了名称)。它们部分是我要寻找的东西(无需使用语言编写GUI即可创建GUI),但它们与特定的库交织在一起。而且它们看起来都不太好看,也不友好进行人工编辑。

解决方案

回答

erm .. HTML? (试图在这里变得有趣...,我们等待真正的答案时。。)

回答

wxWidgets(以前称为wxWindows)库可能就是我们想要的。对于Python,wxPython以及不同语言的版本-C#,C ++,Perl和Ruby-以及各种GUI:Win32,Mac OS X,GTK +,X11,Motif,WinCE,都有一个特别好的端口。该图书馆已经存在了一段时间,而且非常可靠。

回答

不确定这是否是我们要寻找的东西,但是Glade(或者Windows下载)是GTK +的设计师。它会生成一个XML文件,然后可以使用该XML文件以多种不同的语言来构建GUI。

回答

http://en.wikipedia.org/wiki/Qt_(toolkit)"> Qt(其创建者发音为"可爱" [1])是一种跨平台的应用程序开发框架,广泛用于GUI程序的开发。

Qt使用带有一些非标准扩展的C ++,这些扩展由一个额外的预处理程序实现,该预处理程序在编译之前会生成标准C ++代码。 Qt也可以在其他几种编程语言中使用。存在对Ada(QtAda)[4],C (Qyoto / Kimono)[5],Java(Qt Jambi)[6],Pascal,Perl,PHP(PHP-Qt),Ruby(RubyQt)的绑定和Python(PyQt)。它可在所有主要平台上运行,并具有广泛的国际化支持。非GUI功能包括SQL数据库访问,XML解析,线程管理,网络支持以及用于文件处理的统一跨平台API。

回答

XML用户界面语言。对它了解不多,因此不确定它是否满足需求。如果我们愿意,请回传经验。

回答

我读了一些关于XML用户界面语言(XUL)的文章,它看起来确实很健壮并且得到了很好的支持。对我来说,主要问题是它与Gecko渲染引擎绑定,因此它是跨平台的,就像wxWidgets,QT和GTK +跨平台的方式一样。另外,那里的Python绑定似乎不如其他库好。

GladeXML和XRC似乎是更好的标记

回答

@Cristian和Antony Cramp:虽然XUL是UI开发的不错选择(跨平台,开放源代码许可,在Firefox和其他主要软件中使用),但它肯定与语言无关。我们与Gecko紧密相连,并使用JS编写脚本。实验性支持Python脚本,但仅实验性AFAIK。

但是,我们可以在XUL + JS中定义UI并使用用C ++编写的后端组件(也有Python和Java桥可用)。

回答

我严重怀疑我们是否会找到与特定库无关的GIU标记语言。对于这样的事情,将需要一种具有多种实现方式的标准化GUI标记语言。

回答

我将使用XSLT,因此它也可以嵌入其他接口中。