0

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
4

1 に答える 1

0

このコードは、wxPython 2.8.12.1 および Python 2.6.6 を搭載した Windows 7 で実行されます。使用している OS と Python のバージョンは何ですか? コードを IDLE で実行すると、このエラー メッセージがときどき表示されます。あなたがそれをしているなら、しないでください。Tkinter のメインループ (IDLE で使用されるもの) は、他の GUI ツールキットのメインループと干渉します。

closebutton メソッドには、存在しない「close」メソッドを呼び出すという問題があります。

于 2012-12-17T15:12:25.163 に答える