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

Cursor 如何在Matplotlib中创建自定义鼠标光标,cursor,matplotlib,Cursor,Matplotlib,我感兴趣的是创建一个自定义鼠标光标,以便在某些线或点上的拖放事件中,鼠标从箭头变为手(或其他符号)。这样做的最佳方法是什么。我假设这是可能的,因为在缩放操作期间鼠标光标变为一个小十字线。如果可能,最好使用PyQt/PySide后端解决方案。您需要的是mpl\U画布。按照此设置一个 使用mpl_画布,您可以设置触发的事件 fig = matplotlib.figure.Figure() cid = fig.canvas.mpl_connect('button_press_event', your_

我感兴趣的是创建一个自定义鼠标光标,以便在某些线或点上的拖放事件中,鼠标从箭头变为手(或其他符号)。这样做的最佳方法是什么。我假设这是可能的,因为在缩放操作期间鼠标光标变为一个小十字线。如果可能,最好使用PyQt/PySide后端解决方案。

您需要的是mpl\U画布。按照此设置一个

使用mpl_画布,您可以设置触发的事件

fig = matplotlib.figure.Figure()
cid = fig.canvas.mpl_connect('button_press_event', your_method)
以下有几种信号(在事件下列出)

设置信号后,将调用带有事件参数的_方法。所以你可以这样做:

def your_method(event):
    print('Your x and y mouse positions are ', event.xdata, event.ydata)
 def your_method(event):
     #changes cursor to +
     QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))
单击Corroponding类和描述链接,查看事件的具体内容。对于特定的mpl_画布事件

在您的特定情况下,要更改鼠标的外观,您的_方法应如下所示:

def your_method(event):
    print('Your x and y mouse positions are ', event.xdata, event.ydata)
 def your_method(event):
     #changes cursor to +
     QtGui.QApplication.setOverrideCursor(QtGui.QCursor(QtCore.Qt.CrossCursor))