Modified keyPressEvent. Moved from MoulderApp() to Moulder()

This commit is contained in:
Santiago Soler
2018-02-02 14:35:06 -03:00
parent da6d54686c
commit 61527013f3
2 changed files with 14 additions and 13 deletions

View File

@@ -408,11 +408,11 @@ class Moulder(FigureCanvasQTAgg):
# self._update_data()
self._update_data_plot()
def _key_press_callback(self, event_key):
def keyPressEvent(self, event):
"""
What to do when a key is pressed on the keyboard.
"""
if event_key == 'd':
if event.key() == Qt.Key_D:
if self._drawing and self._xy:
self._xy.pop()
if self._xy:
@@ -447,7 +447,7 @@ class Moulder(FigureCanvasQTAgg):
self.canvas.draw()
# self._update_data()
self._update_data_plot()
elif event_key == 'n':
elif event.key() == Qt.Key_N:
self._ivert = None
self._ipoly = None
for line, poly in zip(self.lines, self.polygons):
@@ -465,7 +465,7 @@ class Moulder(FigureCanvasQTAgg):
'left click: set vertice', 'right click: finish',
'esc: cancel']))
self.canvas.draw()
elif event_key == 'escape':
elif event.key() == Qt.Key_Escape:
if self._add_vertex:
self._add_vertex = False
else:
@@ -480,11 +480,11 @@ class Moulder(FigureCanvasQTAgg):
line.set_animated(False)
line.set_color([0, 0, 0, 0])
self.canvas.draw()
elif event_key == 'r':
elif event.key() == Qt.Key_R:
self.modelax.set_xlim(self.x.min(), self.x.max())
self.modelax.set_ylim(self.min_depth, self.max_depth)
self.modelax.set_ylim(self.max_depth, self.min_depth)
self._update_data_plot()
elif event_key == 'a':
elif event.key() == Qt.Key_A:
self._add_vertex = not self._add_vertex
def _mouse_move_callback(self, event):

View File

@@ -36,14 +36,15 @@ class MoulderApp(QMainWindow):
density_range=DENSITY_RANGE,
width=5, height=4, dpi=100)
self.setCentralWidget(self.moulder)
self.moulder.setFocusPolicy(Qt.StrongFocus)
self.set_callbacks()
def keyPressEvent(self, event):
keys_dict = {Qt.Key_N: "n", Qt.Key_R: "r",
Qt.Key_A: "a", Qt.Key_D: "d",
Qt.Key_Escape: "escape"}
if event.key() in keys_dict.keys():
self.moulder._key_press_callback(keys_dict[event.key()])
# def keyPressEvent(self, event):
# keys_dict = {Qt.Key_N: "n", Qt.Key_R: "r",
# Qt.Key_A: "a", Qt.Key_D: "d",
# Qt.Key_Escape: "escape"}
# if event.key() in keys_dict.keys():
# self.moulder._key_press_callback(keys_dict[event.key()])
def closeEvent(self, event):
event.ignore()