复盘1____wxPython底层知识构架

wxPython必须的5个步骤

  1. 导入必须的wxPython包
  2. 子类化wxPython应用程序类
  3. 定义一个应用程序的初始化方法
  4. 创建一个应用程序类的实例
  5. 进入这个硬功程序的主时间循环
import wx  #1
class App(wx.App):  #2
	def OnInit(self):  #3
		frame = wx.Frame(parent=None, title="bare")
		frame.Show()
		return True

app = App()  #4
app.MainLoop()  #5

基本的wxPython应用架构

应用程序对象管理主事件循环。
顶层窗口通常管理最重要的数据,控制并显示给用户。
应用程序对象,顶层串口对象和主事件循环的关系

这个应用程序拥有顶层窗口和主事件循环。顶层窗口管理其窗口中的组件和其它的你分配给它的数据对象。窗口和它的组件的触发事件基于用户的动作,并接受事件通知以便改变显示。


什么是事件驱动编程

用户触发,大部分的时间程序什么都不做。被动等待式。


wxPython如何处理事件

事件处理逻辑
事件处理过程开始于触发时间的对象。通常,wxPython首先在触发对象中查找匹配事件类型的处理器函数。如果找到,则相应的方法被执行。否则,wxPython将检查事件是否传送到了上一级的容器。如果是的话,父窗口部件将被检查,这样一级一级向上寻找,直到wxPython找到了一个处理器函数或到达了顶级窗口。如果事件没有传播,在处理过程完成之前,wxPython仍将为了处理器函数而检查应用程序对象。
wx.Event 的Skip()方法来显式地请求进一步处理。
默认情况下,只有wx.CommandEvent及其子类的实例向上展开至容器级。


重构代码的重要原则

  • 不要重复:你应该避免有多个相同功能的段。当这个功能需要改变时,这维护起来会很头痛。
  • 一次做一件事情:一个方法应该并且只做一件事情。各自的事件应该在各自的方法中。方法应该保持短小。
  • 嵌套的层数要少:尽量使嵌套代码不多于2层或3曾。对于一个单独的方法,深的嵌套也是一个好的选择。
  • 避免字面意义上的字符串和数字:字面意义上的字符串和数字应使其出现在代码中的次数最小化。一个好的方法是,把它们从你的代码的主要部分中分离出来,并存储于一个列表或字典中。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值