Как создать собственный курсор мыши в Matplotlib - PullRequest
8 голосов
/ 13 октября 2011

Меня интересует создание пользовательского курсора мыши, чтобы во время перетаскивания и выбора событий на определенных линиях или точках мышь переходила от стрелки к руке (или другому символу).Какой лучший способ сделать это.Я предполагаю, что это возможно, так как курсор мыши меняется на маленькое перекрестие во время операций масштабирования.Если возможно, решение с использованием бэкэнда PyQt / PySide было бы предпочтительным.

1 Ответ

4 голосов
/ 30 декабря 2011

Что вам нужно, это 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...