wxPython学习(4.鼠标事件处理)

鼠标事件处理
(一对多事件处理中,使用button并为其绑定事件,button事件源与事件处理者分别在两个对象中,事件处理者由窗口frame提供,事件源是所在内容面板)


 事件源和事件处理对象是同一个

(在窗口左键按下,释放,移动鼠标,左键按下拖拽鼠标,输出鼠标状态)

#鼠标事件处理

import wx
#自定义窗口类MyFrame
class MyFrame(wx.Frame):
    def __init__(self):
        super().__init__(parent=None,title="一对多事件处理",size=(400,300))       
        self.Centre()#设置窗口居中
        
        self.Bind(wx.EVT_LEFT_DOWN,self.on_left_down)
        self.Bind(wx.EVT_LEFT_UP,self.on_left_up)
        self.Bind(wx.EVT_MOTION,self.on_mouse_move)
        
    def on_left_down(self,event):
        print('鼠标按下')
    def on_left_up(self,event):
        print('鼠标释放')
    def on_mouse_move(self,event):
        print('鼠标移动')
        if event.Dragging() and event.LeftIsDown():
            #鼠标正在移动,按左键移动
            pos = event.GetPosition()#取出位置
            print(pos)
        
#自定义应用程序对象          
class App(wx.App):
    def OnInit(self):
        #创建窗口对象
        frame = MyFrame()
        frame.Show()
        return True
    
    def OnExit(self):
        print('应用程序退出')
        return 0
    
if __name__ == '__main__':
    app = App()#调用上面函数
    app.MainLoop()#进入主事件循环

 

 

 

 

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值