Hi,
There's probably a few ways to do this, but the simplest modification to your code would be to use a lambda expression to wrap the mouseMoved function and pass in the appropriate widget. It might look something like this:
def mouseMoved(widget, pos):
widget.getViewBox().mapSceneToView(pos)
xCor = mousePoint.x()
yCor = mousePoint.y()
print( xCor, yCor)
for w in [pwidget1, pwidget2, pwidget3]:
w.scene().sigMouseMoved.connect(lambda pos: mouseMoved(w, pos))
I'll also add that if you ever need to do some complicated event handling that is not possible in pyqtgraph, then remember that everything in pyqtgraph is a Qt object, which means you can go directly to the Qt event layer to catch and manipulate events at a low level. The EventFilter is very powerful in this regard:
https://doc.qt.io/qtforpython/overviews/eventsandfilters.html
Patrick