From: Ole S. <ole...@gm...> - 2009-06-03 13:05:12
|
Hi again, I have another problem: I try to connect "Control + mouse drag" to some zoom event. On mouse press, I need to check whether the Ctrol key is pressed: ------------------------------------8<------------------------------------ import random import sys from PyQt4 import QtGui, QtCore from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas from matplotlib.figure import Figure,SubplotParams class InnerDiagramWidget(FigureCanvas): def __init__(self, parent): fig = Figure() fig.add_subplot(111) FigureCanvas.__init__(self, fig) self.setParent(parent) self.mpl_connect('button_press_event', self.on_button_press) def on_button_press(self, event): print event.key, event.button, event.xdata if event.key == 'control': print 'This should start the zoom but never happens' a = QtGui.QApplication(sys.argv) w = QtGui.QMainWindow() w.setCentralWidget(InnerDiagramWidget(w)) w.show() a.exec_() ------------------------------------8<------------------------------------ The key returned here is always None. Why??? The API (matplotlib.backend_bases.MouseEvent) says that it should return "control"? $ uname -a Linux myos 2.6.27.21-0.1-default #1 SMP 2009-03-31 14:50:44 +0200 x86_64 x86_64 x86_64 GNU/Linux $ python -c "import matplotlib; print matplotlib.__version__" 0.98.5.2 I guess this is a bug in matplotlib? Can one confirm that? Best regards Ole |