如何获取事件pg.infiniteLine已在pyqtgraph中移动



在pyqtgraph中,当鼠标移动v_bar = pg.InfiniteLine(angle=90, movable=True)时,有什么方法可以获取事件吗?我使用类似v_bar.evt.connect(update)的事件

正如文档所指出的,您可以使用sigDragged信号:

from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg

app = pg.mkQApp()
win = pg.GraphicsLayoutWidget()
win.resize(1000, 600)
win.show()
plot = win.addPlot(y=np.random.normal(size=100, scale=10))
v_bar = pg.InfiniteLine(movable=True, angle=90)
plot.addItem(v_bar)

def handle_sig_dragged(obj):
assert obj is v_bar
print(obj.value())

v_bar.sigDragged.connect(handle_sig_dragged)
app.exec_()

最新更新