2008-08-07 69 views
12

我在一天中學會了Swing,但現在我已經轉向Python並希望使用GUI製作一些應用程序。我沒有時間學習一個新的GUI API,所以我一直在使用Jython,但我更喜歡使用CPython。跨平臺,語言不可知的GUI標記語言?

如果我可以有一個簡單的標記允許我切換GUI庫,那將是非常好的。如果我可以跨語言使用相同的標記語言,那就更好了,這樣我就可以快速地爲我使用的任何語言製作GUI。有誰知道這樣的標記/庫?

我見過像Glade和wxWidget標記的標記(我忘了名字)。他們部分是我在尋找的東西(製作GUI時沒有用語言編寫它),但它們與特定的庫相互交織。而且對於人類編輯來說,這兩者都不是很好看或友好。

回答

8

erm .. HTML? (試圖在這裏很有趣...而我們等待真正的答案..)

+0

爲什麼不呢?如果你可以有一個定製的瀏覽器來服務它,它可能是完美的選擇。它簡單,標準化且易於使用。 – 2008-09-18 10:15:38

1

wxWidgets(以前稱爲wxWindows)庫可能是你要找的。有一個特別好的Python端口,wxPython,以及不同語言的版本 - C#,C++,Perl和Ruby,想起了各種GUI:Win32,Mac OS X,GTK +,X11,Motif和WinCE。圖書館已經有一段時間了,並且非常穩固。

3

不知道這是你在找什麼,但有Glade(或Windows download),這是GTK +設計師。它生成一個XML文件,然後可以用它來構建多種不同語言的GUI。

5

http://en.wikipedia.org/wiki/Qt_(toolkit)"> Qt(由其創建者發音爲「cute」[1])是一個跨平臺的應用程序開發框架,廣泛用於開發GUI程序

Qt使用C++與通過附加的預處理器也可在幾種其它編程語言中使用的編譯的Qt之前生成標準C++代碼實現幾個非標準擴展;綁定存在阿達 (QtAda)[4],C **#**(Qyoto/Kimono)[5],Java(Qt Jambi)[6],Pascal,Perl,PHP(PHP-Qt),Ruby(RubyQt)和Python(PyQt)。它運行在所有主要平臺上,並擁有廣泛的國際化支持。非GUI功能包括SQL數據庫訪問,XML解析,線程管理,網絡支持以及用於文件處理的統一跨平臺API。

3

XML User Interface Language。不太瞭解它,所以不知道它是否符合你的願望。如果你玩過它,請發回你的經驗。

0

我讀了一些關於XML用戶界面語言(XUL)的文章,它看起來非常健壯並且得到很好的支持。我面臨的主要問題是它與Gecko渲染引擎有關,所以它是跨平臺的,就像wxWidgets,QT和GTK +是跨平臺的。另外,Python綁定看起來不如其他庫好。

GladeXML和XRC看起來更好加價

1

@Cristian和安東尼抽筋:而XUL是UI開發(跨平臺的開源許可,在Firefox和其他主要軟件一起使用)一個不錯的選擇,它的當然不是語言不可知的。你與Gecko綁定,JS用於腳本。有對Python腳本的實驗性支持,但它只是實驗性的AFAIK。

您可以在XUL + JS中定義UI,並使用用C++編寫的後端組件(也可以使用Python和Java橋)。

4

我嚴重懷疑你會找到GIU的標記語言而不是綁定到特定的庫。爲了存在這樣的事情,需要有一個標準化的GUI標記語言,有幾個實現。

0

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

0

如果切換到.NET,那麼您可以使用通用的GUI語言,例如MVC中的Razor(如果您正在進行Web開發),並且可以選擇C#或VB或其他多種語言。