如何在Matplotlib中创建自定义鼠标光标

8

我想制作一个自定义鼠标指针,以便在拖放某些行或点时,鼠标从箭头变为手(或其他符号)。

怎么做呢?

我认为这是可能的,因为在缩放操作期间,鼠标指针会变成一个小十字。如果可能的话,最好使用PyQt/PySide后端解决方案。

1个回答

4
你需要的是mpl_canvas。请按照这个教程来设置。
有了一个mpl_canvas,你就可以设置触发事件了。
fig = matplotlib.figure.Figure()
cid = fig.canvas.mpl_connect('button_press_event', your_method)

这里有几种与事件相关的信号。

当您设置好信号后,将调用your_method,并传入事件参数。因此,请执行以下操作:

def your_method(event):
    print('Your x and y mouse positions are ', event.xdata, event.ydata)

点击相应的类和描述链接查看特定mpl_canvas事件中确切的内容。

在您的具体情况下,要更改鼠标外观,您的方法应该如下所示:

 def your_method(event):
     #changes cursor to +
     QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接