wxPython学习Day2

  1. 概述
    在我们的程序中,完成相应的点击,移动或者其他操作中最重要的一项就是事件处理。
    学习一套新的图形库就需要我们对其页面设计,事件处理非常熟悉。
  2. wxPython事件处理过程
    wxpython也是通过对事件的绑定来实现事件的响应,通过其bind函数将控件和事件绑定再一起。例如:
    #事件绑定 self.m_button1.Bind(wx.EVT_BUTTON, self.ButtonClicked)
    m_button1通过与事件绑定,点击后会产生wx.EVT_BUTTON,通过调用.ButtonClicked来实现对事件的响应。
  3. 完整实例
    通过wxPython,点击按钮后会产生一个新的窗口:
class MyFrame1(wx.Frame):

    def __init__(self, parent):
        wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition,
                          size=wx.Size(500, 300), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)

        bSizer2 = wx.BoxSizer(wx.VERTICAL)

        self.m_button1 = wx.Button(self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer2.Add(self.m_button1, 0, wx.ALL, 5)

        self.SetSizer(bSizer2)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        #事件绑定
        self.m_button1.Bind(wx.EVT_BUTTON, self.ButtonClicked)

    def __del__(self):
        pass

    # Virtual event handlers, overide them in your derived class
    def ButtonClicked(self, event):
        event.Skip()
#另一个类去继承MyFrame
class Test(MyFrame1):
    def __init__(self, parent):
        super(Test, self).__init__(parent)
        pass
    def __del__(self):
        pass
    def ButtonClicked(self, event):
        dlg = wx.Dialog(None, wx.ID_ANY, "点击窗口")
        dlg.Show()
        pass
if __name__ == "__main__":
    app = wx.App()
    window = Test(None)
    window.Show(True)
    app.MainLoop()
    pass

  1. 运行结果
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值