安装模块快照python
我正在使用wxPython为我的应用程序构建GUI。我使用wxFormBuilder构建了GUI。但是,当将代码引入我的python应用程序并启动它时,窗口会弹出,然后立即关闭。我的GUI也使用XRC。在Eclipse中使用PyDev时,控制台中也没有给出任何错误消息 启动GUI的Python代码: XRC代码:我想您只需要安装模块快照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
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的东西弄得太乱)