【问题标题】:wxPython not respondingwxPython 没有响应
【发布时间】:2013-10-01 12:52:12
【问题描述】:

我是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,如果我没记错的话,问题是一样的。

【问题讨论】:

  • wxPython、tkinter 等通常不能很好地与 IDLE 配合使用。尝试从命令行启动代码。

标签: python user-interface tkinter wxpython


【解决方案1】:

那是因为应用程序循环没有运行。通常,您还必须这样做:

app.MainLoop()

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

我没用过python(x,y),但是看了一下,好像支持IPython(x,y)。如果您将其用作控制台,那么您可以这样做

%gui wx

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-25
    • 2015-06-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多