import wx
class A(wx.App):
def B(self):
SS=wx.Frame(parent=None,title='Hello Python')
SS.Show()
return True
q=A()
q.MainLoop()
运行了也没报错,就是不见书上的运行结果(一个空窗口,标题是“Hello Python”)
wx.Frame.show()和app.MainLoop()是wx正常运行的关键,缺一不可。下面的代码,是wx最简单的hello world,摘自我的一篇博文:《wxPython:python首选的GUI库》,https://xufive.blog.csdn.net/article/details/82665460,推荐给题主。
import wx
app = wx.App()
frame = wx.Frame(None, -1, "Hello, World!")
frame.Show(True)
app.MainLoop()
我又加了一句,q.B(),就出界面了。
当我把q.MainLoop()删了之后,界面就闪一下消失,这是怎么回事。。。
q.MainLoop()是Execute the main GUI event loop循环方法,保障窗口持续展示,删掉后程序执行结束,界面自然就消失了
下面是该函数具体代码:
def MainLoop(self):
"""
Execute the main GUI event loop
"""
rv = wx.PyApp.MainLoop(self)
self.RestoreStdio()
return rv