Событие мыши PYQT после события клавиатуры - PullRequest
0 голосов
/ 22 февраля 2019

Я написал этот класс

from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
import matplotlib.pyplot as plt
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4 import QtGui


class Canvas(FigureCanvas):
    """
    CLASS used to convert widget into a matplotlib figure
    """
    signal = pyqtSignal()
    def __init__(self, parent=None):
        self.figure = plt.figure()
        FigureCanvas.__init__(self, self.figure)
        FigureCanvas.setSizePolicy( self, QtGui.QSizePolicy.Expanding,QtGui.QSizePolicy.Expanding )
        FigureCanvas.updateGeometry( self )
        self.setParent(parent)
        self.cid = self.figure.canvas.mpl_connect('button_press_event', self)

    def __call__(self, event):

        if event.button == 3:  # right button

            print(event.xdata)
            print(event.ydata)
            return event.xdata, event.ydata

, который просто возвращает значение точки данных, которую пользователь щелкает (щелчок правой кнопкой мыши) на холсте

Я хотел бы улучшить этот класс, добавив больше событий.Так как все события являются событиями мыши и есть только 2 кнопки, я хотел бы иметь возможность включить действие (вызванное событием мыши) только после определенного нажатия клавиши.

любая помощь?

...