Python,wxPython错误

时间:2012-12-17 03:37:34

标签: python wxpython pywin

任何人都可以帮我弄清楚我做错了什么我对GUI的经验很少。 代码:

import wx
    class bucky(wx.Frame):
            #constructor
        def __init__(self,parent,id):
            wx.Frame.__init__(self,parent,id,'Frame aka window',size=(300,200))
            panel=wx.Panel(self)
            button=wx.Button(panel,label="exit",pos=(130,10),size=(60,60))
            self.Bind(wx.EVT_BUTTON, self.closebutton,button)
            self.Bind(wx.EVT_CLOSE, self.closewindow)
        def closebutton(self,event):
            self.close(True)
        def closewindow(self,event):
            self.Destroy()
    if __name__=='__main__':
        app=wx.PySimpleApp()
        frame=bucky(parent=None,id=-1)
        frame.Show()
        app.MainLoop()

错误:

PyNoAppError: The wx.App object must be created first!

win32ui.error: Error in Command Message handler for command ID 36864, Code 0

1 个答案:

答案 0 :(得分:0)

此代码在Windows 7上运行,带有wxPython 2.8.12.1和Python 2.6.6。您使用的操作系统和Python版本是什么?我在IDLE中运行代码时不时看到此错误消息。如果你这样做,那就不要。 Tkinter的主循环(这是IDLE的制作)会干扰其他GUI工具包的主循环​​。

closebutton方法存在一个问题,即它调用一个不存在的“close”方法。