weixin_43212830
lyxleo
采纳率100%
2019-03-14 12:25

为什么我的窗口不能正常关闭?

已采纳
import wx
class MyFrame(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,title="我的窗口",pos=(100,100),size=(500,500))
        panel=wx.Panel(self)
        self.abc=wx.StaticText(panel,label="输入用户名")
        sizer=wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.abc,proportion=0,flag=wx.BOTTOM|wx.TOP|wx.ALIGN_CENTER,border=15)
        panel.SetSizer(sizer)            #尺寸器
if __name__=='__main__':
    app=wx.App()
    frame=MyFrame(parent=None,id=1)
    frame.Show()
    app.MainLoop()       #调用主循环方法
    import time
    time.sleep(5)
    frame.close()            #关闭窗口

这段代码我是想让它先定义窗口,等待5秒再关闭窗口。但它等了5秒后还没有关闭,是不是卡在主循环方法那里了?该怎么解决?我是python新手,请大家帮帮忙。感谢!

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • slevenxulianjie slevenxulianjie 2年前

    app.MainLoop() 的意思是,接受窗口的消息循环,代码不再往下进行了。
    直到界面由用户触发或异常退出,才会执行后面的代码。

    点赞 1 评论 复制链接分享
  • qq_35081747 元气皮皮 2年前

    难道不是app.close()吗

    点赞 评论 复制链接分享

为你推荐