我是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,问题是一样的,如果我没记错的话。
答案 0 :(得分:0)
那是因为app循环没有运行。通常,你还必须这样做:
app.MainLoop()
在frame.Show()之后。当然,现在您的控制台将运行主循环,并且在应用程序退出之后(当主窗口关闭时),您将无法恢复控制台,这可能不是您想要的。
我没有使用python(x,y),但从快速看,它看起来像支持IPython(x,y)。如果您将其用作控制台,则可以执行
%gui wx
加载后,然后不是自己创建/运行应用程序,IPython本身实现了应用程序并以特殊方式进行事件处理作为输入挂钩 - 这意味着它在等待你输入一些东西,而不是只是等待,它会主动轮询gui以查看是否存在活动事件并处理它们。这也会产生一些有趣的问题,但是你可以创建窗口&显示它,它将正常工作....