2013-10-01 77 views
0

我是新來的python,現在我想嘗試wxpython,但即使在開始時我也無法繼續。 繼toturial,wxPython沒有迴應

import wx 
app = wx.App(False) 
frame = wx.Frame(None, wx.ID_ANY, "Hello World") 
frame.Show(True) 

後,我這樣做,新的窗口便會立即停止響應的出現還是我嘗試點擊它。然後,我只能強制關閉它,編輯器重新啓動。 所有相同的外殼或IDLE,甚至在不同的計算機上都是一樣的(我碰巧買了一個新的)。也許我在搜索互聯網之後做了一些錯誤,似乎沒有人遇到問題,但我無法弄清楚。

我正在使用最新的python(x,y)。 另外,我還在舊電腦上試過tkinter,如果我沒有記錯的話,問題是一樣的。

+0

wxPython,tkinter等通常不會很好地使用空閒。嘗試從命令行啓動代碼。 –

回答

0

這是因爲應用程序循環沒有運行。通常,你也必須這樣做:

app.MainLoop() 

after frame.Show()。當然,現在你的控制檯將運行主循環,並且在應用程序退出之前(當你的主窗口關閉時),你不會得到控制檯,這可能不是你想要的。

我還沒有使用python(x,y),但從快速的樣子看來,它看起來像它支持IPython(x,y)。如果你使用它作爲控制檯,那麼你可以做

%gui wx 

加載後,再而不是創建/自己運行的應用程序,IPython的本身實現了應用程序,並以特殊的方式做事件處理作爲輸入掛鉤 - 這意味着,雖然它正在等待您鍵入內容,而不是等待,它會主動輪詢gui以查看是否存在活動事件並處理它們(如果存在)。這可以創建一些有趣的問題,但是,然後你可以創建窗口&顯示它,它會正常工作....