Python wxpython模块响应鼠标拖动事件操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python wxpython模块响应鼠标拖动事件操作。分享给大家供大家参考,具体如下:

wxpython鼠标拖动事件小案例:

#coding:UTF-8
import wx
app = wx.App()
def dragEVT(event):
 if event.ButtonDown():
  panel1.SetPosition(event.GetPosition())
 elif event.Dragging():
  panel1.SetPosition(event.GetPosition())
 elif event.ButtonUp():
  panel1.SetPosition(event.GetPosition())
frame = wx.Frame(None, -1, "www.jb51.net")
page1BoxSizer = wx.BoxSizer(wx.HORIZONTAL)
frame.SetSizer(page1BoxSizer)
panel1 = wx.Panel(frame,wx.ID_ANY,size = wx.Size(100,100))
panel1.SetBackgroundColour("#aa0000")
frame.Bind(wx.EVT_MOUSE_EVENTS,dragEVT)
frame.Show()
app.MainLoop()

【听图阁-专注于Python设计】测试运行结果如下:

附:wxpython处理鼠标事件列表

EVT_LEFT_DOWN(func) 用来处理wxEVT_LEFT_DOWN事件, 在鼠标左键按下的时候产生.
EVT_LEFT_UP(func) 用来处理wxEVT_LEFT_UP事件, 在鼠标左键被释放的时候产生.
EVT_LEFT_DCLICK(func) 用来处理wxEVT_LEFT_DCLICK事件,在鼠标左键被双击的时候产生.
EVT_MIDDLE_DOWN(func) 用来处理wxEVT_MIDDLE_DOWN事件, 在鼠标中键被按下的时候产生.
EVT_MIDDLE_UP(func) 用来处理wxEVT_MIDDLE_UP事件,当鼠标中键被释放的时候产生.
EVT_MIDDLE_DCLICK(func) 用来处理wxEVT_MIDDLE_DCLICK事件,在鼠标中键被双击的时候产生.
EVT_RIGHT_DOWN(func) 用来处理wxEVT_RIGHT_DOWN事件,鼠标右键被按下的时候产生.
EVT_RIGHT_UP(func) 用来处理wxEVT_RIGHT_UP事件,鼠标右键被释放的时候产生.
EVT_RIGHT_DCLICK(func) 用来处理wxEVT_RIGHT_DCLICK事件,鼠标右键被双击的时候产生.
EVT_MOTION(func) 用来处理wxEVT_MOTION事件,鼠标指针移动的时候产生.
EVT_ENTER_WINDOW(func) 用来处理wxEVT_ENTER_WINDOW事件,鼠标指针移入某个窗口的时候产生.
EVT_LEAVE_WINDOW(func) 用来处理wxEVT_LEAVE_WINDOW事件,鼠标移出某个窗口的时候产生.
EVT_MOUSEWHEEL(func) 用来处理wxEVT_MOUSEWHEEL事件,鼠标滚轮滚动的时候产生.
EVT_MOUSE_EVENTS(func) 用来处理所有的鼠标事件.

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总

希望本文所述对大家Python程序设计有所帮助。

相关文章

关于ResNeXt网络的pytorch实现

此处需要pip install pretrainedmodels """ Finetuning Torchvision Models """ from __future__ im...

Python函数式编程实例详解

本文实例讲述了Python函数式编程。分享给大家供大家参考,具体如下: 函数式编程就是一种抽象程度很高的编程范式,从计算机硬件->汇编语言->C语言->Python抽象...

PyQt5每天必学之QSplitter实现窗口分隔

QSplitter使用户可以通过拖动子面板的边界控制子面板的大小。在我们的例子中,我们使用了两个QSplitter 对三个QFrame 控件进行了分隔。 #!/usr/bin/pyt...

利用python在大量数据文件下删除某一行的例子

python修改大数据文件时,如果全加载到内存中,可能会导致内存溢出。因此可借用如下方法,将分件分段读取修改。 with open('file.txt', 'r') as old_f...

mac下如何将python2.7改为python3

mac下如何将python2.7改为python3

1.查看当前电脑python版本 python -V  // 显示2.7.x 2.用brew升级python brew update python  3.如果安装...