def keyPressEvent(self, e: QtGui.QKeyEvent) -> None: if self.completer.popup().isVisible(): key = e.key() if key in (Qt.Key_Enter, Qt.Key_Return): e.ignore() return super().keyPressEvent(e) text_before_cursor = self.text_before_cursor() # print('text', self.text_before_cursor()) if text_before_cursor != self.completer.currentCompletion(): if text_before_cursor != self.completer.completionPrefix(): text_before_cursor, self.completer.currentCompletion() self.completer.setCompletionPrefix(text_before_cursor) self.completer.popup().setCurrentIndex( self.completer.completionModel().index(0, 0)) cursor_rectangle = self.cursorRect() popup = self.completer.popup() cursor_rectangle.setWidth( popup.sizeHintForColumn(0) + popup.verticalScrollBar().sizeHint().width()) self.completer.complete(cursor_rectangle) else: self.completer.popup().hide()
def keyReleaseEvent(self, event: QKeyEvent): if event.isAutoRepeat(): event.ignore() return key = event.key() if key in self.keys: self.keys[key] = False
def keyPressEvent(self, event: QKeyEvent): if self._completedAndSelected and self.handledCompletedAndSelected( event): return self._completedAndSelected = False if self._completer.popup().isVisible(): ignoredKeys = [ Qt.Key_Up, Qt.Key_Down, Qt.Key_Enter, Qt.Key_Return, Qt.Key_Tab, Qt.Key_Escape, ] if event.key() in ignoredKeys: event.ignore() return self._completer.popup().hide() super().keyPressEvent(event) if not self._enableAutoCompletion: return ctrlOrShift = (event.modifiers() & Qt.ShiftModifier == Qt.ShiftModifier or event.modifiers() & Qt.ControlModifier == Qt.ControlModifier) if ctrlOrShift and not event.text(): return if self.textCursor().atBlockEnd(): self.suggestCompletions()
def keyPressEvent(self, event: QKeyEvent): if event.key() == QtCore.Qt.Key_Space: image_rect: QRectF = self._pixmap.sceneBoundingRect() if self.current_tool == SELECTION_TOOL.POLYGON and self._current_polygon: points = self._current_polygon.points self._polygon_guide_line.hide() self.setDragMode(QGraphicsView.ScrollHandDrag) if len(points) <= 2: self._current_polygon.delete_item() self.current_tool = SELECTION_TOOL.POINTER elif self.current_tool == SELECTION_TOOL.EXTREME_POINTS and \ self._extreme_points.full(): points = [] image_offset = QPointF(image_rect.width() / 2, image_rect.height() / 2) for pt in self._extreme_points.queue: pt: EditablePolygonPoint center = pt.sceneBoundingRect().center() x = math.floor(center.x() + image_offset.x()) y = math.floor(center.y() + image_offset.y()) points.append([x, y]) self.points_selection_sgn.emit(points) self.current_tool = SELECTION_TOOL.POINTER else: event.ignore()
def keyPressEvent(self, a0: QKeyEvent): ''' 键盘监听事件 ''' if a0.key() == Qt.Key_Escape: a0.ignore() else: a0.accept()
def keyPressEvent(self, event: QKeyEvent): super().keyPressEvent(event) if event.key() in [Qt.Key_Space, Qt.Key_Enter]: event.accept() self._capture_requested() else: event.ignore()
def keyPressEvent(self, event: QtG.QKeyEvent): """Handles “Ctrl+A“ and “Ctrl+C“ actions.""" if utils.gui.event_matches_action(event, self._select_all_action): self.select_all() event.ignore() elif utils.gui.event_matches_action(event, self._copy_paths_action): self.copy_image_paths() event.ignore() super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent): if self.window().is_dirty() \ and (event.matches(QKeySequence.MoveToNextLine) or event.matches(QKeySequence.MoveToPreviousLine)): veto = self.window().central_widget.promptToSave() if not veto: QTreeWidget.keyPressEvent(self, event) else: event.ignore() else: QTreeWidget.keyPressEvent(self, event)
def keyPressEvent(self, event: QtG.QKeyEvent): if event.key() == QtC.Qt.Key_Up and self.value( ) is not None and self.value() < self.validator().top(): self.set_value(self.value() + 1) event.ignore() elif event.key() == QtC.Qt.Key_Down and self.value( ) is not None and self.value() > self.validator().bottom(): self.set_value(self.value() - 1) event.ignore() super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent): super().keyPressEvent(event) if event.key() == Qt.Key_Space: event.accept() self.accept.emit() elif event.key() == Qt.Key_Escape: event.accept() self.reject.emit() else: event.ignore()
def keyPressEvent(self, event: QtG.QKeyEvent): if self._completer.popup().isVisible() and event.key( ) in self._keys_to_ignore: event.ignore() return super().keyPressEvent(event) completion_prefix = self._text_under_cursor() if completion_prefix != self._completer.completionPrefix(): self._update_completer_popup_items(completion_prefix) if len(event.text()) > 0 and len(completion_prefix) > 0: self._completer.complete() if len(completion_prefix) == 0: self._completer.popup().hide()
def keyPressEvent(self, a0: QKeyEvent) -> None: #print(a0.text()) modifiers = QApplication.keyboardModifiers() alt = False if not modifiers & Qt.AltModifier: QTextEdit.keyPressEvent(self, a0) return else: a0.ignore() print("Alt-", end='') print(a0.text()) if a0.key() == Qt.Key_Return or a0.key() == Qt.Key_Enter: print("ENter") else: self.PickDict.emit(a0.text().lower())
def keyPressEvent(self, event: QKeyEvent): # pylint: disable=C0103 """_summary_ Args: event (QKeyEvent): _description_ """ if event.key() == Qt.Key_Backspace: cur = self.textCursor() cur.setPosition(cur.position() - event.count(), QTextCursor.KeepAnchor) if not (event.key() in [Qt.Key_C, Qt.Key_Z] and \ event.modifiers() & Qt.ControlModifier) and \ GTextEditor.__has_marker(self.textCursor().selectedText()): event.ignore() return None return super().keyPressEvent(event)
def keyPressEvent(self, event: QtG.QKeyEvent): if utils.gui.event_matches_action(event, self._copy_all_tags_action): self._on_copy_all() event.ignore() elif utils.gui.event_matches_action(event, self._copy_tags_action): self._on_copy_tags() event.ignore() elif utils.gui.event_matches_action(event, self._copy_label_action): self._on_copy_label() event.ignore() elif utils.gui.event_matches_action(event, self._delete_item_action): self._on_delete_item() event.ignore() elif utils.gui.event_matches_action(event, self._insert_tag_action): self._on_insert_tag() event.ignore() super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent) -> None: """Process key events. The :py:class:`QImageView` supports the following keys: ?: debug t: debug toolbox """ key, text = event.key(), event.text() print(f"debug: QDebug[{type(self).__name__}].keyPressEvent: " f"key={key}, text={text}") if text == '?': self.debug() elif key == Qt.Key_T: # Debug Toolbox Toolbox.debug_register() elif hasattr(super(), 'keyPressEvent'): super().keyPressEvent(event) else: event.ignore()
def keyPressEvent(self, e: QKeyEvent) -> None: """Override keyPressEvent to ignore Return key presses. If this widget is focused, we are in passthrough key mode, and Enter/Shift+Enter/etc. will cause QLineEdit to think it's finished without command_accept to be called. """ text = self.text() if text in modeparsers.STARTCHARS and e.key() == Qt.Key_Backspace: e.accept() modeman.leave(self._win_id, usertypes.KeyMode.command, 'prefix deleted') return if e.key() == Qt.Key_Return: e.ignore() return else: super().keyPressEvent(e)
def keyPressEvent(self, event: QKeyEvent): if event.key() == Qt.Key_V: if event.modifiers() == Qt.ControlModifier: self.add_clip_content() event.accept() if event.key() == Qt.Key_R: if event.modifiers() == Qt.ControlModifier: if self.tree_widget_content_view.topLevelItemCount(): self.tree_widget_content_view.collapseAll() event.accept() if event.key() == Qt.Key_E: if event.modifiers() == Qt.ControlModifier: if self.tree_widget_content_view.topLevelItemCount(): self.tree_widget_content_view.expandAll() event.accept() if event.key() == Qt.Key_Delete: self.delete_contents() else: event.ignore()
def keyPressEvent(self, event: QKeyEvent): if type(event) == QKeyEvent: # here accept the event and do something if (event.key() == Qt.Key_W): print("w") runMotors("w") elif (event.key() == Qt.Key_A): runMotors("a") print("a") elif (event.key() == Qt.Key_S): runMotors("s") print("s") elif (event.key() == Qt.Key_D): runMotors("d") print("d") event.accept() else: event.ignore()
def keyPressEvent(self, event: QKeyEvent) -> None: """Process key events. The :py:class:`ItemAdapter` supports the following keys: C: clear the currently selected entry Note: in a :py:class:`QComboBox` this event is only received if the combobox is closed (not while currently selecting an entry). """ key = event.key() LOG.debug("ItemAdapter[%s].keyPressEvent: key=%d", type(self).__name__, key) if key == Qt.Key_C: # clear self._setCurrentItem(None) elif key == Qt.Key_Y: # no itemToText function (inherit from super) self.setItemToText(None) elif key == Qt.Key_Z: # simple str() as itemToText function (debug) self.setItemToText(str) elif hasattr(super(), 'keyPressEvent'): super().keyPressEvent(event) else: event.ignore()
def keyPressEvent(self, event: QtG.QKeyEvent): # noinspection PyTypeChecker if event.key() in (QtC.Qt.Key_Return, QtC.Qt.Key_Enter ) and event.modifiers() & QtC.Qt.ControlModifier: self.validated.emit() event.ignore() elif self._completer.popup().isVisible() and event.key( ) in self._keys_to_ignore: event.ignore() return super().keyPressEvent(event) completion_prefix = self._text_under_cursor() if completion_prefix != self._completer.completionPrefix(): self._update_completer_popup_items(completion_prefix) if len(event.text()) > 0 and len(completion_prefix) > 0: rect = self.cursorRect() rect.setWidth( self._completer.popup().sizeHintForColumn(0) + self._completer.popup().verticalScrollBar().sizeHint().width()) self._completer.complete(rect) if len(completion_prefix) == 0: self._completer.popup().hide()
def keyPressEvent(self, event: QtG.QKeyEvent): # noinspection PyProtectedMember if event.key() in [QtC.Qt.Key_Return, QtC.Qt.Key_Enter]: self.enter_pressed.emit(self.text()) event.ignore() elif utils.gui.event_matches_action( event, self.parent()._output._clear_action): self.cleared_triggered.emit() event.ignore() elif event.key() == QtC.Qt.Key_Up: self.up_pressed.emit() event.ignore() elif event.key() == QtC.Qt.Key_Down: self.down_pressed.emit() event.ignore() super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent): if event.key() == Qt.Key_Delete: self.deletion_wanted.emit() event.ignore() else: super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent): if event.key() == Qt.Key_Enter: event.ignore() else: event.accept()
def keyPressEvent(self, event: QtG.QKeyEvent): # Prevent event from propagating to the search button if event.key() in [QtC.Qt.Key_Return, QtC.Qt.Key_Enter]: event.ignore() else: super().keyPressEvent(event)
def keyPressEvent(self, event: QKeyEvent) -> None: # pylint: disable=too-many-branches """Process special keys for this widget. Allow moving selected entry using the cursor keys. Deselect unit using the Escape key. Space: toggle display of tooltips 'C': toggle color scale 'L': toggle local contrast Parameters ---------- event: QKeyEvent """ unit = self._unit position = (None if self._position is None else QPoint(self._position)) key = event.key() shiftPressed = event.modifiers() & Qt.ShiftModifier # Space will toggle display of tooltips if key == Qt.Key_Space: self.setToolTip(not self.toolTipActive) # 'C' will toggle color scale elif key == Qt.Key_C: self.setColorScale(not self.colorScale()) # 'L' will toggle local contrast elif key == Qt.Key_L: self.setLocalContrast(not self.localContrast()) # 'D' will toggle details elif key == Qt.Key_D: self._showDetails = not self._showDetails self.update() # Arrow keyes will move the selected entry elif position is not None and not shiftPressed: if key == Qt.Key_Left: position.setX(max(0, position.x() - 1)) elif key == Qt.Key_Up: position.setY(max(0, position.y() - 1)) elif key == Qt.Key_Right: position.setX(min(self._unitSize.width() - 1, position.x() + 1)) elif key == Qt.Key_Down: position.setY( min(self._unitSize.height() - 1, position.y() + 1)) elif key == Qt.Key_Escape: self._position = None else: event.ignore() self.setPosition(position) elif unit is not None: row = self._unit // self._columns col = self._unit % self._columns if key == Qt.Key_Left: col = max(col - 1, 0) elif key == Qt.Key_Up: row = max(row - 1, 0) elif key == Qt.Key_Right: col = min(col + 1, self._columns - 1) elif key == Qt.Key_Down: row = min(row + 1, self._rows - 1) elif key == Qt.Key_Escape: unit = None else: event.ignore() unit = row * self._columns + col if unit >= self._units: unit = self._unit self.setUnit(unit) else: event.ignore()
def keyPressEvent(self, e: QKeyEvent): if e.key() == Qt.Key_Escape: self.entry_completed.emit("", "", True) e.ignore() super().keyPressEvent(e)
def keyPressEvent(self, ev: QKeyEvent): if ev.key() == Qt.Key_Return: ev.ignore() return
def keyPressEvent(self, event: QtGui.QKeyEvent): if event.type() != QtCore.QEvent.KeyPress: event.ignore() else: # if self.mode.value == QwwMode.EPUB.value: # event.ignore() if event.key() == QtCore.Qt.Key_Control: self.ctrlOn = True return if self.ctrlOn is True: print('KeyPress + Ctrl') if event.key() in [QtCore.Qt.Key_0]: super().page().mainFrame().setZoomFactor(1) if event.key() in [QtCore.Qt.Key_Plus]: super().page().mainFrame().setZoomFactor( super().page().mainFrame().zoomFactor() * 1.10) if event.key() in [QtCore.Qt.Key_Minus]: super().page().mainFrame().setZoomFactor( super().page().mainFrame().zoomFactor() * 0.90) if self.mode.value == QwwMode.CBZ.value: "" elif self.mode.value == QwwMode.EPUB.value: if event.key() in [QtCore.Qt.Key_C]: pyperclip.copy(super().page().selectedText()) else: try: if self.mode.value == QwwMode.CBZ.value: zoom = super().page().mainFrame().zoomFactor() if zoom != 1: position = super().page().mainFrame( ).scrollPosition() if event.key() in [ QtCore.Qt.Key_PageDown, QtCore.Qt.Key_PageUp ]: super().page().mainFrame().setZoomFactor(1) self.updatePositionCbz(0) elif event.key() in [QtCore.Qt.Key_Left]: super().page().mainFrame().setScrollPosition( QtCore.QPoint(position.x() - 5, position.y())) elif event.key() in [QtCore.Qt.Key_Right]: super().page().mainFrame().setScrollPosition( QtCore.QPoint(position.x() + 5, position.y())) elif event.key() in [QtCore.Qt.Key_Up]: super().page().mainFrame().setScrollPosition( QtCore.QPoint(position.x(), position.y() - 5)) elif event.key() in [QtCore.Qt.Key_Down]: super().page().mainFrame().setScrollPosition( QtCore.QPoint(position.x(), position.y() + 5)) return passed = 0 if event.key() in [ QtCore.Qt.Key_Left, QtCore.Qt.Key_Up, QtCore.Qt.Key_PageUp ]: passed = -1 elif event.key() in [ QtCore.Qt.Key_Right, QtCore.Qt.Key_Down, QtCore.Qt.Key_PageDown ]: passed = 1 self.updatePositionCbz(passed) elif self.mode.value == QwwMode.EPUB.value: passed = 0 if event.key() in [ QtCore.Qt.Key_Left, QtCore.Qt.Key_Up, QtCore.Qt.Key_PageUp ]: passed = super().height() * -1 elif event.key() in [ QtCore.Qt.Key_Right, QtCore.Qt.Key_Down, QtCore.Qt.Key_PageDown ]: passed = super().height() self.updatePositionEpub(passed) except Exception: traceback.print_exc()
def keyPressEvent(self, e: QKeyEvent): if e.key() == Qt.Key_Escape: self.some_signal.emit("", "", True) e.ignore() super().keyPressEvent(e)