我正在使用wxPython为我的应用程序构建GUI。我使用wxFormBuilder构建了GUI。但是当把代码带到我的python应用程序中并启动它时,窗口弹出然后立即关闭。我也在使用XRC作为我的GUI。在使用PyDev和Eclipse时,控制台中没有给出任何错误消息。
用于启动GUI的Python代码:http://pastebin.com/jBYWerd9
答案 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的一些链接: