从开发框架出发:使用WxPython设计GUI(2)

本文详细介绍了wx.App类在WxPython GUI开发中的作用和运行过程。通过创建自定义的MyApp类,揭示了wx.App如何启动、执行OnInit、进入MainLoop以及OnExit的过程。在OnInit中初始化窗口对象,MainLoop则维持程序运行,直到退出条件满足。OnExit用于清理资源。理解这些概念有助于更好地掌握WxPython应用的生命周期。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

补充说明上次的wx.App类,wx.App是应用程序的基类,它会在方法调用wx.Frame类,然后循环调用自己的方法,来运行一个完整的应用程序。如何解释这个事情呢,程序员的方法—你站在这里别动,我打几行代码给你看看,就几行。

wx.App类的运行过程

#coding:utf-8
import wx
import time

class MyFrame(wx.Frame):
    def __init__(self):
        wx.Frame.__init__(self,None,-1,'Hello World',size=(300,300))
        panel = wx.Panel(self)
        txt = wx.StaticText(panel,-1,'Hello world')
        self.Centre()

class MyApp(wx.App):
    def OnInit(self):
        print('App Oninit')
        self.frame = MyFrame()
        self.frame.Show()
        return True
    def OnExit(self):
        print('App OnExit')
        time.sleep(3)
        return True
        
print('App start')
app = MyApp()
print('before Mainloop')
app.MainLoop()
print('after Mainloop')

代码如上,比起上次的代码,这次多了MyApp类(继承了wx.App),用来解释整个过程。从wx.App类的运行开始说起:

print('App start')
app = MyApp()
print('before Mainloop')

跟其他类创建的对象时类似,会先调用其的构造方法,而wx.App程序在创建对象时,则是会调用On

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值