安装模块快照python

时间:2013-09-19 18:41:40

标签: python wxpython

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

用于启动GUI的Python代码:http://pastebin.com/jBYWerd9

XRC代码:http://pastebin.com/QVEcuX0i

2 个答案:

答案 0 :(得分:0)

我认为你只需要

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

答案 1 :(得分:0)

问题是双重的。正如Joran所提到的,您需要实际创建App类的实例并调用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的一些链接: