【pyqtgraph】pyqtgraph可移动竖线LineSegmentROI的拖拽事件相关
情景
Python+PyQt+pyqtgraph读取数据绘图,并在图像上添加了LineSegmentROI带handle的竖线(hanlde是为了RectROI的拖动),现要实现竖线可以直接拖动,并在拖动后恢复到原来的纵方向位置,只改变拖动的横方向位置。
实现
生成竖线
官方文档是这样写的:
LineSegmentROI(positions=(None, None), pos=None, handles=(None, None), **args)
参数什么的就不具体说了,生成一条可移动的直线只需要传入起点终点坐标和movable参数即可。
import pyqtgraph as pg
self.line = pg.LineSegmentROI(([0, 0], [0, 1), movable=True)
拖拽事件
# 取消handle的拖拽事件
for handle in self.line.getHandles():
handle.mouseDragEvent = self.disable_drag_event()
def disable_drag_event(self, ev):
return
# 重写竖线的拖拽事件
line.mouseDragEvent = new_drag_event()
def new_drag_event(self, ev):
self.line.mouseDragHandler.mouseDragEvent(ev) # 默认事件,需要重新实现
finish = ev.finish # 判断拖拽结束
pos = self.get_mouse_pos() # 获取鼠标当前位置(ev里有关于位置的属性,在尝试中出现问题,遂直接获取鼠标位置)
【pyqtgraph】pyqtgraph可移动竖线LineSegmentROI的拖拽事件相关的更多相关文章
- html5拖拽事件 xhr2 实现文件上传 含进度条
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- H5原生拖拽事件
使用原生js实现简单的拖拽事件 <!DOCTYPE html> <html lang="en"> <head> <meta charset ...
- HTML5 02. 多媒体控件、拖拽事件、历史记录、web存储、应用程序缓存、地理定位、网络状态
多媒体 video:是行内块(text-align: center; 对行内块适用) <figure></figure>: 多媒体标签 : <figcaption> ...
- Duilib嵌入CEF禁止浏览器响应拖拽事件
转载:http://blog.csdn.net/liuyan20092009/article/details/53819473 转载:https://blog.csdn.net/u012778714( ...
- Android Launcher拖拽事件详解【android4.0--Launcher系列二】
AndroidICS4.0版本的launcher拖 拽的流程,基本和2.3的相似.就是比2.3写的封装的接口多了一些,比如删除类的写法就多了个类.等等.4.0的改变有一些,但是不是特别大.这个月一 直 ...
- JS Event 鼠标拖拽事件
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> ...
- 拖拽事件--select外边框拖拽
地图上面的搜索框要可拖拽 但是搜索框是有点击事件的,点击显隐下拉菜单,如果拖拽的事件源选择select框的话,会有样式(十字拖动符cursor:move与selelt默认点击的箭头)冲突 思索良久,就 ...
- IOS 拖拽事件(手势识别)
@interface NJViewController () @property (weak, nonatomic) IBOutlet UIView *customView; @end @implem ...
- 完美实现鼠标拖拽事件,解决各种小bug,基于jquery
鼠标拖拽事件是web中使用频率极高的事件,之前写过的代码包括网上的代码,总存在各种各样的问题,包括拖拽体验差,松开鼠标后拖拽效果仍存在以及代码冗余过大等 本次我才用jQuery实现一个尽可能高效的拖拽 ...
- HTML5深入学习之鼠标跟随,拖拽事件
知识点(鼠标跟随): mousedown: 当用户用鼠标点击在某一元素上就会触发该事件 mouseover: 当鼠标指针在某一元素上移动就会触发改事件 下面这个例子的效果就是鼠标点击元素后,元素跟着 ...
随机推荐
- SCI、SSCI、EI、北大中文核心期刊、CSCD、CSSC、SCD、CSSCI 扩展版、计算机软件著作权
https://zhidao.baidu.com/question/308484724.html SCI(科学引文索引).EI(工程索引).ISTP(科技会议录索引)是世界著名的三大科技文献检索系统, ...
- Raid磁盘阵列更换磁盘时另一块盘离线恢复案例(v7000存储数据恢复)
Raid磁盘阵列更换磁盘时另一块盘离线恢复案例(v7000存储数据恢复) [故障描述]客户设备型号为IBM V7000存储,架构为AIX+oracle+V7000存储阵列柜,需要恢复的数据主要存放在阵 ...
- python exec_command 命令无效的原因
当使用Python Paramiko exec_command执行时,某些Unix命令失败并显示"未找到"_互联网集市 (qyyshop.com) 链接里的解释解决了问题 本来直接 ...
- Using Yocto Project with BeagleBone Black 英文版、Using Yocto Project with BeagleBone Black中文版
Using Yocto Project with BeagleBone Black 手册英文版.中文版 https://market.m.taobao.com/app/idleFish-F2e/wi ...
- 随机数Random和SecureRandom
"Random" objects should be reused Bug Critical Main sources owasp-a6 Available SinceNov 16 ...
- 【小记】copy 与 copy_backward
copy 与 copy_backward copy 从前往后复制,result 参数指向目标容器的 begin 位置 copy*backward 从后往前复制,··· end 位置 Possible ...
- Visual C++ Redistributable for Visual Studio各版本下载地址
Visual C++ Redistributable for Visual Studio各版本下载地址飞鹰_天涯于 2021-06-24 09:35:21 发布 5978收藏 8版权Microsoft ...
- 1071 - Specified key was too long; max key length is 767 bytes
set global innodb_large_prefix=on;set global innodb_file_format=BARRACUDA; 主从都要修改以上2个参数.
- Ingress限流
先说结论: ingress节点数量=n0 ingress限流配置 nginx.ingress.kubernetes.io/limit-rps: "n1" nginx.ingre ...
- 如何修改vagrant系统的root用户密码
1. 先使用vagrant 用户登录. 2. $sudo passwd root #按照提示输入两次新的密码,并加以确认. 然后就可以修改root用户密码