【pyqtgraph】pyqtgraph可移动竖线LineSegmentROI的拖拽事件相关
2024-09-08 15:12:58
情景
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里有关于位置的属性,在尝试中出现问题,遂直接获取鼠标位置)
最新文章
- UVALive3902 Network[贪心 DFS&;&;BFS]
- 非对称加密算法——RSA
- CentOS7:安装Puppet
- 关于tomcat小知识
- HTML 表单 选择器
- json jackson
- 如何在Apache中建立一个新端口
- xml技术DTD约束定义
- 查看Linux下网卡状态或 是否连接(转)
- 如何解决eclipse上的Android程序“Please ensure that adb is correctly located at 'D:\eclipse\sdk\platform-tools\adb.exe' and can be executed.”小问题?
- NET中级课--文件,流,序列化1
- OC本学习笔记Foundation框架NSString与NSMutableString
- 堆VS栈
- java web Servlet学习笔记-2 请求重定向和请求转发的区别
- Rails6使用tailwind CSS
- I/O 模型
- mac burp suite https证书安装
- RocketMQ在windows环境下的安装
- 洛谷P1789【Mc生存】插火把 题解
- [置顶]
 Android 关于BottomDialogSheet 与Layout擦出爱的火花?