wxPython没有响应

时间:2013-10-01 12:52:13

标签: python user-interface tkinter wxpython

我是python的新手,现在我想尝试wxpython,但即使在最开始我也无法继续。 在完成之后,

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

在我这样做之后,新窗口一出现就会停止响应或我尝试单击它。然后我只能强制关闭它并且编辑器重新启动。 在shell或IDLE上都是一样的,甚至在不同的计算机上都是一样的(我碰巧买了一个新的)。也许自从我搜索互联网以来我做错了什么,似乎没有人遇到问题,但我无法弄明白。

我正在使用最新的python(x,y)。 另外,我也在我的旧电脑上试过tkinter,问题是一样的,如果我没记错的话。

1 个答案:

答案 0 :(得分:0)

那是因为app循环没有运行。通常,你还必须这样做:

app.MainLoop()

在frame.Show()之后。当然,现在您的控制台将运行主循环,并且在应用程序退出之后(当主窗口关闭时),您将无法恢复控制台,这可能不是您想要的。

我没有使用python(x,y),但从快速看,它看起来像支持IPython(x,y)。如果您将其用作控制台,则可以执行

%gui wx

加载后,然后不是自己创建/运行应用程序,IPython本身实现了应用程序并以特殊方式进行事件处理作为输入挂钩 - 这意味着它在等待你输入一些东西,而不是只是等待,它会主动轮询gui以查看是否存在活动事件并处理它们。这也会产生一些有趣的问题,但是你可以创建窗口&显示它,它将正常工作....