2012-10-29 75 views
0

我已經看過了可以回答我的問題類似的問題,但我仍然對如何去非常清楚以下幾點:移植一個Python shell程序一個Tkinter的GUI

我可以創建在Python運行程序殼牌在空閒,我還可以設置窗口,在Tkinter的部件,但無論我在Tkinter的創建是沒有意義的,因爲我無法弄清楚如何把我的Python shell代碼,並在Tkinter的GUI「包裝」它。

我假設它不能這樣做,這完全是新代碼的編寫必須協助特定於Tkinter的語言。我很困惑如何創建一個全面的程序,而不會留下只帶有隨機按鈕,標籤,條目等的GUI「骨架」,以及一個非常不具吸引力並且只能在醜陋的小Shell中運行的Python程序。

+1

這是很難理解你設法做什麼,你想要完成的任務。也許你可以提供一個例子(理想情況下不是你所有的代碼,但有意義的部分)到目前爲止你所嘗試的。 – FabienAndre

+0

我不認爲他是在尋求具體的幫助,而是一個大問題類型的問題;基本上是「什麼是GUI?」。 – DaveTheScientist

回答

0

你Tkinter的創造什麼,不是沒有意義的。這聽起來像你試圖編譯Python中的獨立程序,使用Tkinter庫來提供GUI。一旦你有一個腳本工作,你可以使用一個程序編譯成一個獨立的程序。請在Windows上使用py2app,或在Windows上使用py2exe。谷歌他們,看看這是你在找什麼。

+0

非常感謝Dave!我以後肯定會需要py2app,但是這會允許我運行一個python程序,並且不會在tkinter窗口中顯示某些輸出,並且不會在python shell中顯示其他輸出?從我研究過py2app讓我凍結我的程序或幾乎編譯它,特別是分發目的。 – Joseph

+0

-1題外話,海報問題沒有包裝相關 – FabienAndre

+0

/分銷如果我理解正確的話,你說的GUI的那目的是什麼代碼的形式取決於。 – Joseph

0

移植的命令行到GUI應用程序可能需要一些返工(取決於你想要達到的互動程度)。

基本上,在一個GUI應用程序中,您在啓動時會創建幾個小部件(按鈕...),然後根據用戶輸入的「反應」執行所有操作。通常都是通過做到這一點結合回調到您的小部件(按鈕,輸入字段),然後輸入主循環(或事件循環)。 你可能會讀這個chapter about events and binding

如果您的應用主要是面向計算,提供GUI以「啓動」按鈕,輸出場是直截了當的。如果您執行一些命令行輸入,則可以低成本切換到窗口小部件輸入。更多交互式應用程序將需要架構爲交互功能。