def keyPressEvent(self, ev): QVTKRenderWindowInteractor.keyPressEvent(self, ev) if ev.key() < 256: key = str(ev.text()) else: # Has modifiers, but an ASCII key code. #key = chr(ev.key()) key = chr(0)
def keyPressEvent(self, e): """ This method is overridden to prevent the 's'/'w'/'e'/'q' keys from doing the default thing which is generally useless. It also handles the 'p' and 'l' keys so the picker and light manager are called. """ key = e.key() modifiers = e.modifiers() scene = self._scene camera = scene.camera if key in [QtCore.Qt.Key_Minus]: camera.zoom(0.8) scene.render() scene._record_methods('camera.zoom(0.8)\nrender()') return if key in [QtCore.Qt.Key_Equal, QtCore.Qt.Key_Plus]: camera.zoom(1.25) scene.render() scene._record_methods('camera.zoom(1.25)\nrender()') return if key in [QtCore.Qt.Key_E, QtCore.Qt.Key_Q, QtCore.Qt.Key_Escape]: scene._disable_fullscreen() return if key in [QtCore.Qt.Key_W]: return if key in [QtCore.Qt.Key_R]: scene._record_methods('reset_zoom()') return if key in [QtCore.Qt.Key_P] and modifiers == QtCore.Qt.NoModifier: pos = self.mapFromGlobal(QtGui.QCursor.pos()) x = pos.x() y = self.height() - pos.y() scene.picker.pick(x, y) return if key in [QtCore.Qt.Key_F] and modifiers == QtCore.Qt.NoModifier: pos = self.mapFromGlobal(QtGui.QCursor.pos()) x = pos.x() y = self.height() - pos.y() data = scene.picker.pick_world(x, y) coord = data.coordinate if coord is not None: camera.focal_point = coord scene.render() scene._record_methods('camera.focal_point = %r\n'\ 'render()'%list(coord)) return if key in [QtCore.Qt.Key_L] and modifiers == QtCore.Qt.NoModifier: scene.light_manager.configure() return if key in [QtCore.Qt.Key_S] and modifiers == QtCore.Qt.NoModifier: fname = popup_save(self.parent()) if len(fname) != 0: self.save(fname) return shift = ((modifiers & QtCore.Qt.ShiftModifier) == QtCore.Qt.ShiftModifier) if key == QtCore.Qt.Key_Left: if shift: camera.yaw(-5) scene._record_methods('camera.yaw(-5)') else: camera.azimuth(5) scene._record_methods('camera.azimuth(5)') scene.render() scene._record_methods('render()') return if key == QtCore.Qt.Key_Right: if shift: camera.yaw(5) scene._record_methods('camera.yaw(5)') else: camera.azimuth(-5) scene._record_methods('camera.azimuth(-5)') scene.render() scene._record_methods('render()') return if key == QtCore.Qt.Key_Up: if shift: camera.pitch(-5) scene._record_methods('camera.pitch(-5)') else: camera.elevation(-5) scene._record_methods('camera.elevation(-5)') camera.orthogonalize_view_up() scene.render() scene._record_methods('camera.orthogonalize_view_up()\nrender()') return if key == QtCore.Qt.Key_Down: if shift: camera.pitch(5) scene._record_methods('camera.pitch(5)') else: camera.elevation(5) scene._record_methods('camera.elevation(5)') camera.orthogonalize_view_up() scene.render() scene._record_methods('camera.orthogonalize_view_up()\nrender()') return QVTKRenderWindowInteractor.keyPressEvent(self, e)