安装模块快照python

安装模块快照python,python,wxpython,Python,Wxpython,我正在使用wxPython为我的应用程序构建GUI。我使用wxFormBuilder构建了GUI。但是,当将代码引入我的python应用程序并启动它时,窗口会弹出,然后立即关闭。我的GUI也使用XRC。在Eclipse中使用PyDev时,控制台中也没有给出任何错误消息 启动GUI的Python代码: XRC代码:我想您只需要 def main(): app = VisualController(redirect=False) app.MainLoop() #you need th

我正在使用wxPython为我的应用程序构建GUI。我使用wxFormBuilder构建了GUI。但是,当将代码引入我的python应用程序并启动它时,窗口会弹出,然后立即关闭。我的GUI也使用XRC。在Eclipse中使用PyDev时,控制台中也没有给出任何错误消息

启动GUI的Python代码:

XRC代码:

我想您只需要

def main():
    app = VisualController(redirect=False)
    app.MainLoop() #you need this
    return #after calling Mainloop you will not get here until your main window is destroyed

这个问题是双重的。正如Joran提到的,您需要实际创建应用程序类的实例并调用MainLoop()方法。第二点是,您需要实际从XRC文件加载帧并显示它。将代码更改为以下内容:

import wx
from wx import xrc

class VisualController(wx.App):
    def OnInit(self):
        self.res = xrc.XmlResource('data/GUI.xrc')
        frame = self.res.LoadFrame(None, "MyFrame1")
        frame.Show()
        return True

def main():
    app = VisualController(redirect=False)
    app.MainLoop()

if __name__ == '__main__':
    main()
如果不加载并显示框架,则应用程序不会执行任何操作,只会在运行完OnInit()方法后退出。以下是有关使用XRC的几个链接:


添加了
def main():app=VisualController()app.MainLoop()#您需要此返回值#调用MainLoop后,在主窗口被破坏之前,您将无法到达此处
我仍然存在相同的问题,至少出现了框架,但是它会自动关闭。试着从我上面的编辑中添加
redirect=False
,然后从命令行运行它。我猜你会遇到一个错误,它关闭得太快,以至于你看不到错误(tbh我不确定我没有把xrc的东西弄得太乱)