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

How to get an event pg.infiniteLine has moved in pyqtgraph

在pyqtgraph中,有没有办法获取v_bar = pg.InfiniteLine(angle=90, movable=True)被鼠标移动时的事件? 我使用像 v_bar.evt.connect(update)

这样的事件

您可以使用 sigDragged 信号作为 the docs 指出:

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_()