2009-08-31 66 views
11

快速的問題。在Linux中使用Python創建GUI

我正在使用Linux,我想嘗試使用Python製作GUI。我聽說過類似Qt,GTK +和PyGTK的東西,但我不知道它們究竟是什麼,它們之間的區別是什麼。

他們如何與不同的DEs如GNOME,KDE,XFCE等一起工作有什麼不同?是否有任何IDE允許您像Microsoft Visual Studio一樣創建GUI(用於C#,C,Visual Basic等)?

或者我應該使用Python以外的其他語言來創建GUI應用程序?

回答

12

你的第一步應該是http://wiki.python.org/moin/GuiProgramming

一些工具包集成在一個環境比其他更好。例如PyQt,PyKDE(以及全新的PySide)將在KDE環境中更好地發揮,而GTK版本(包括WX-widgets)將更好地融合到GNOME/XFCE桌面。

你應該看看你想要定位的環境。您可以使用基本的便攜式GUI套件,也可以與DE DE更深入地集成,比如使用集成密碼管理器和配置文件解析器,這些解析器集成在特定的DE(如KDE或GNOME)中。

您還應該考慮您的選擇規定的依賴關係,以及基本DE默認情況下的依賴關係。例如,KDE 3.X分支中的PyKDE具有一組不重要的依賴關係,而在4.X分支中,等離子體綁定使得Python GUI編程依賴性更少。

有幾個IDE工具,在不同級別的完整性和成熟度。最好的辦法是多試一試,看看最適合你的需求。

+4

哇..那裏肯定有很多框架作品。我應該怎麼弄清楚哪一個對我來說是最好的? – 2009-08-31 05:32:53

+2

@Baldur,你的主要目標平臺是什麼?對於Gnome,GTK(或wx,如果你想要Windows的合理跨平臺能力,Mac的程度較低);對於KDE或其他窗口管理者來說,Qt(也給你高超的跨平臺能力);僅適用於Mac,PyObj和可可;對於僅Windows,我建議IronPython(和Windows窗體......或其他任何最新和最好的.NET GUI產品;-)。 – 2009-08-31 05:44:11

+0

我猜我的主要平臺是GNOME,所以我應該使用GTK? GTK能用Python工作還是你必須使用PyGTK,我有點困惑 – 2009-08-31 05:47:23

2

每個桌面環境都使用特定的工具包來構建它的組件。例如,KDE使用Qt,GNOME使用Gtk。

您對工具包的使用將取決於您所針對的是哪種類型的桌面環境,並且如果您想要定位多種桌面,請使用可用於許多桌面環境的工具包,如Wx小部件這將在Linux,Mac OS和Windows上運行。爲了構建簡單的GUI應用程序,Tkinter會這樣做。

+0

Tkinter是否在很多DE上工作?爲什麼GNOME使用Gtk和KDE時都可以使用Wx小部件,看看Wx在幾乎所有方面的工作原理?他們有多優秀有什麼不同? – 2009-08-31 05:40:40

+1

因爲Wx是醜陋的;-)儘管如此,我認爲Qt在編程和視覺外觀的組合方面很難勝出。但每個人都會有自己的看法。 – 2009-08-31 06:55:03

+2

一些人認爲B比A好,有些人寫D比A和B好,但由於D試圖「適用於一切」,它比A和B複雜。最後,一些人堅持A或B,有人喜歡D,還有更多人繼續發現E比A,B和D好。現在你有4個選擇,ABD或E :) – Parthan 2009-08-31 07:02:58

4

我會避免使用其他語言來製作Python的GUI。

我對wxwidgets有了一切好運,wxwidgets是跨平臺開發系統WX的python綁定。這很容易學習,而且非常強大。 wxwidgets的問題在於它並未默認安裝,因此用戶需要將其安裝在希望運行應用程序的每個平臺上。有關它的更多信息,請致電http://wxwidgets.org/

如果您希望人們能夠在不安裝其他任何軟件的情況下使用您的程序,請使用Tkinter,Python自帶的GUI系統。

我會避免GTK或KDE的Python綁定,除非您已經知道這些系統。他們還需要下載,並且他們似乎沒有像wxwidgets那麼多的採用。

+0

不,如果你編譯它>:D – 2013-02-07 11:52:22

0

使用PyGTK的。與工具箱一樣重要的是它的基礎,在PyGTK中,你也可以使用GLib,它的文件系統抽象(python module gio)對Linux桌面非常重要,它的高級跨桌面功能如glib.get_user_data_dir()及其它應用程序框架工具,GObject及其屬性和信號模型。