0

当我直接单击运行按钮而不单击我创建的 CV 按钮或 IR 按钮时,我将关闭我的窗口。但是,如果我单击 CV 按钮或 IR 按钮,然后单击 Exit 按钮,我将无法工作。我尝试删除 CV 和 IR 按钮内的 app.MainLoop() 但仍然无法正常工作。

p/s CV_Button 和 IR_Button 将调用另一个 .py 文件,它是一个 GUI。我不知道如何在 python 中调用 main,但至少它可以工作,我什至不知道是对还是错。

def CV_Button(self, event):  # wxGlade: Main.<event_handler>
     if __name__ == "__main__":
        app = wx.PySimpleApp(0)
        wx.InitAllImageHandlers()
        MainFrame = CV(None, -1, "")
        app.SetTopWindow(MainFrame)
        MainFrame.Show()
        app.MainLoop()
     event.Skip()

def IR_Button(self, event):  # wxGlade: Main.<event_handler>
     if __name__ == "__main__":
        app = wx.PySimpleApp(0)
        wx.InitAllImageHandlers()
        MainFrame = IR(None, -1, "")
        app.SetTopWindow(MainFrame)
        MainFrame.Show()
        app.MainLoop()
     event.Skip()

def Exit_Button(self, event):  # wxGlade: Main.<event_handler>
    self.Close(True)
    event.Skip()

if __name__ == "__main__":
app = wx.PySimpleApp(0)
wx.InitAllImageHandlers()
Main = Main(None, -1, "")
app.SetTopWindow(Main)
Main.Show()
app.MainLoop()
4

1 回答 1

1

每个应用程序不能有多个 wx.App。因此,您也不能有两个主循环。需要有一个 wx.App 实例(或 wx.PySimpleApp,尽管已弃用)。删除其他人,它可能会起作用。

于 2012-06-05T13:18:05.980 回答