新手,简单的gui窗口输出,python3,

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