8000 Merge pull request #6302 from JGoutin/FigureCanvasQT-KeyAutoRepeat · matplotlib/matplotlib@b16e6f3 · GitHub
[go: up one dir, main page]

Skip to content

Commit b16e6f3

Browse files
committed
Merge pull request #6302 from JGoutin/FigureCanvasQT-KeyAutoRepeat
FigureCanvasQT key auto repeat
2 parents 1d81f97 + 973c28e commit b16e6f3

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

lib/matplotlib/backends/backend_qt4.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ def __init__(self, figure):
7676
w, h = self.get_width_height()
7777
self.resize(w, h)
7878

79+
# Key auto-repeat enabled by default
80+
self._keyautorepeat = True
81+
7982
def wheelEvent(self, event):
8083
x = event.x()
8184
# flipy so y=0 is bottom of canvas

lib/matplotlib/backends/backend_qt5.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ def new_figure_manager_given_figure(num, figure):
172172

173173
class TimerQT(TimerBase):
174174
'''
175-
Subclass of :class:`backend_bases.TimerBase` that uses Qt4 timer events.
175+
Subclass of :class:`backend_bases.TimerBase` that uses Qt timer events.
176176
177177
Attributes:
178178
* interval: The time between timer events in milliseconds. Default
@@ -242,6 +242,9 @@ def __init__(self, figure):
242242
w, h = self.get_width_height()
243243
self.resize(w, h)
244244

245+
# Key auto-repeat enabled by default
246+
self._keyautorepeat = True
247+
245248
def enterEvent(self, event):
246249
FigureCanvasBase.enter_notify_event(self, guiEvent=event)
247250

@@ -322,6 +325,17 @@ def keyReleaseEvent(self, event):
322325
if DEBUG:
323326
print('key release', key)
324327

328+
@property
329+
def keyAutoRepeat(self):
330+
"""
331+
If True, enable auto-repeat for key events.
332+
"""
333+
return self._keyautorepeat
334+
335+
@keyAutoRepeat.setter
336+
def keyAutoRepeat(self, val):
337+
self._keyautorepeat = bool(val)
338+
325339
def resizeEvent(self, event):
326340
w = event.size().width()
327341
h = event.size().height()
@@ -344,7 +358,7 @@ def minumumSizeHint(self):
344358
return QtCore.QSize(10, 10)
345359

346360
def _get_key(self, event):
347-
if event.isAutoRepeat():
361+
if not self._keyautorepeat and event.isAutoRepeat():
348362
return None
349363

350364
event_key = event.key()

0 commit comments

Comments
 (0)
0