|
From: Werner <wer...@gm...> - 2014-06-05 13:24:39
|
On 6/5/2014 15:10, Jorge Scandaliaris wrote: > Jorge Scandaliaris <jorgesmbox-ml@...> writes: > >> Hi, >> I just mentioned this problem with Qt4Agg and python 3.4 in another thread >> [1], but I decided to post it on a thread of its own, as I suspect it might >> be a bug in the Qt4Agg backend. >> >> I get a NameError exception (see backtrace below) when trying to use key >> events in matplotlib (master branch rev: >> e322d5f5bb024bbec44d3ba76da1bc16bf52af9c), python 3.4.1, and pyqt 4.10. >> Is this a bug? > I can confirm that using chr() instead of unichr() fixes this problem. I > don't know how ones handle python2 vs python3 in these cases > > diff --git a/lib/matplotlib/backends/backend_qt4.py > b/lib/matplotlib/backends/backend_qt4.py > index 70152aa..b0d8233 100644 > --- a/lib/matplotlib/backends/backend_qt4.py > +++ b/lib/matplotlib/backends/backend_qt4.py > @@ -362,7 +362,7 @@ class FigureCanvasQT(QtGui.QWidget, FigureCanvasBase): > if event_key > MAX_UNICODE: > return None > > - key = unichr(event_key) > + key = chr(event_key) > # qt delivers capitalized letters. fix capitalization > # note that capslock is ignored > if 'shift' in mods: You would use 'six' - https://pypi.python.org/pypi/six it is used by many packages including wxPython. import six if six.PY3: key = chr(event_key) else: key = unichr(event_key) Werner |