2010-12-12 127 views
2

我是新的python編程和GUI。我在互聯網上搜索關於GUI編程,並看到有很多方法可以做到這一點。我發現python中GUI最簡單的方法可能是tkinter(它包含在Python中,它只是GUI庫而不是GUI構建器)?我還閱讀了很多關於GLADE + PyGTK(和XML格式)的知識,那裏有什麼特別的東西(glade是GUI構建器)?Python GUI(tkinter; pygtk + glade),py2exe

任何人都可以對這個選擇做出一些「個人意見」嗎?我有python代碼,我需要做簡單的圖形用戶界面(2按鈕的打開關閉讀寫,和一些「打印」工作),然後使一些.exe文件(是否有最好的選擇py2exe =?) 。代碼製作GUI有很多變化嗎?

非常感謝

回答

0

如果你的GUI真的很簡單,你應該使用內置的tkinter。

有一個Hello, Tkinter教程,你可以關注,它非常簡單。關於可執行文件的創建,在大多數情況下,py2exe應該沒有問題(儘管我還沒有嘗試過tkinter)。創建可執行的另一種方式是一個特殊的參數添加到您的「setup.py」的文件:

setup(..., 
     entry_points = {"gui_scripts" : ['name-of-executable = name_of_package.launcher:main']}) 

這,例如,創建一個可以通過鍵入「名稱的可執行」運行的可執行到終端(即使在Windows上,如果Python的「腳本」路徑在PATH ^^中)。它在名爲「name_of_package」的模塊中運行「main」函數。這樣,您就不必使用py2exe,但可以創建Windows安裝程序或Debian軟件包。

對於更復雜的項目,我絕對推薦使用PyGTKGlade作爲界面設計器。它需要安裝幾個Python軟件包,以及一個GTK +安裝(在Windows上這並不總是那麼簡單)。 API非常棒,well-documented和Glade很容易使用,一旦你習慣了GTK的佈局概念。但是我的觀點有些偏頗,因爲我在PyGTK中完成了多個項目。 wxWidgets或PyQT是很好的選擇。例如,bazaar explorer是使用QT編寫的。

+0

好的代碼長約80行,我知道如何使用tkinter讓例如簡單的「hello world」的GUI,但是在我的代碼中我有「讀取輸入.txt」文件,然後進行一些計算(huffman)和輸出是在output.txt中寫入,並顯示一些結果。對我來說可能會有很多麻煩。 – thaking 2010-12-12 21:25:02

+0

@thaking:80行?這幾乎沒有。所有你需要的是把讀/ calc的東西放在一個單獨的函數中,然後可能創建一個帶有[回調函數](http://effbot.org/tkinterbook/button.htm)的按鈕,讓用戶選擇一個輸入文件。當然這取決於你的用例,但它應該相當簡單。 – AndiDog 2010-12-12 21:39:53

0

我真的很喜歡用於Qt庫的PyQt綁定。 What is PyQt?

Qt本身是一個非常好的框架 - 豐富,強大,優雅(至少對我來說)。 PyQt在向腳本環境公開該功能方面做得非常好。

另外,還有一本關於PyQt開發的書 - Rapid GUI Programming with Python and Qt - 通過它幫助了我很多。