2012-10-01 51 views
7

我的問題是關於跨平臺(Mac/Linux/Windows)分發GUI應用程序的簡易性,我想知道使用戶的工作最簡單。Python GUI應用程序分發:用wxPython,TKinter或QT編寫

我當前的理解是,Tkinter應用程序對於用戶來說是最簡單的(安裝),因爲只要用戶在她的盒子中安裝了Python,我的應用程序就應該可以在該盒子上運行了。

對於使用wxPython或pyQT編寫的GUI應用程序,用戶需要首先將wxWidget或QT安裝到她的盒子中,這是一個額外的步驟,然後安裝我的GUI應用程序。 (但我的Ubuntu盒似乎默認安裝了wxWidget庫和QT庫,是規範還是隻是Ubuntu發行版對用戶更友好?我猜Windows和Mac可能不會提供它們,即用戶需要下載並安裝它們作爲額外的步驟)

+2

有沒有保證的Tkinter將可僅僅因爲Python是。它是一個擴展模塊,因此可以拆分成單獨的包。 Mandriva Linux發行版可以做到這一點,並且可能還有其他的。 – ekhumoro

回答

8

如果您運行的是Kubuntu,則將默認安裝PyQt。大多數Linux發行版將默認安裝PyGtk或PyQt之一。 WxPython最有可能被安裝在你的Ubuntu系統中,作爲系統中其他軟件包的依賴。

如果您的目標市場是Linux,那麼您可以創建一個deb或rpm包,併爲您的應用程序提供依賴關係。

對於Windows和Mac(如果你願意,甚至Linux上),你可以這樣 .exe或.elf使用庫,例如​​cx_freeze與應用程序捆綁Python解釋器和它的圖書館變成一個本地可執行格式,py2exepy2app。完成此操作後,用戶將不必安裝python或任何庫。

+6

[PyInstaller](http://www.pyinstaller.org/)是多平臺,支持許多第三方庫,例如PyQt,wxPython開箱即用 – jfs

+0

PyInstaller的工作原理也很棒。 – prabu

4

Tkinter是Python中包含的唯一一個。 wxPython和pyQT需要在系統上安裝wxWindows或QT庫 wxPython或pyQT庫。

但是,Tk看起來不太好。如果您已經讓用戶安裝Python,那麼您也可以讓他們安裝這些庫。 (或者可能包含安裝程序或其他東西)。

+0

我認爲關於Tk外觀的評論在這裏不合適。問題不在於選擇哪個工具包,而是部署選項是什麼。另外,Tk的外觀非常主觀,所以它減損了IMO的答案。 –

+3

此外,Tkinter的新ttk子庫(以Python 2.7+或http://pypi.python提供。org/pypi/pyttk),你可以讓Tkinter應用看起來很不錯。 –

2

如果應用程序將跨平臺,我會建議WxWidgetswxpython)。我已經多次使用過它,這從來都不是問題。

不過,您應該爲Windows,Mac和Linux創建不同的安裝程序。在Linux中,使用.deb.rpm來處理依賴關係。

在Windows中,我一直使用py2exe來創建一個exe文件。 Py2exe通過附加Python解釋器和所需的庫,在這種情況下,wxWidgets

檢查此鏈接瞭解更多信息:http://www.py2exe.org/

+1

我認爲關於選擇wxWidgets的評論在這裏不合適。問題不在於哪個工具包最好,而是關於部署選項。當問題不是選擇「X」時,說「我選擇X」可能會因爲有人喜歡或不喜歡wxPython而招致票數增加和票數減少。如果你堅持部署的話題,我認爲這個問題會更好。但是,除非你明確說wxPython更易於部署,在這種情況下,你應該解釋原因。 –

相關問題