コード例 #1
0
    def keyPressEvent(self, event: QKeyEvent):
        if event.key() == QtCore.Qt.Key_Escape:
            self.clearFocus()
            return

        modifier_code = event.nativeModifiers()
        key_code = event.nativeVirtualKey()
        hotkey = None

        if modifier_code not in self.modifiers and key_code not in self.keys:
            self.valid_input = False
            return

        if modifier_code not in self.modifiers and key_code in self.keys:
            self.valid_input = True
            key = self.keys[key_code]
            hotkey = '{}'.format(key)
        elif modifier_code in self.modifiers and key_code not in self.keys:
            self.valid_input = False
            modifier = self.modifiers[modifier_code]
            hotkey = '{} + '.format(modifier)
        elif modifier_code in self.modifiers and key_code in self.keys:
            self.valid_input = True
            modifier = self.modifiers[modifier_code]
            key = self.keys[key_code]
            hotkey = '{} + {}'.format(modifier, key)
        self.hotkey_event.hotkey_changed.emit(hotkey)
        self.current_hotkey = hotkey
        self.setText(hotkey)
コード例 #2
0
 def __makeKeyEvent(self, measure_editor: BaseMeasureEditor,
                    evt: QtGui.QKeyEvent) -> QtGui.QKeyEvent:
     measure_evt = QtGui.QKeyEvent(evt.type(), evt.key(), evt.modifiers(),
                                   evt.nativeScanCode(),
                                   evt.nativeVirtualKey(),
                                   evt.nativeModifiers(), evt.text(),
                                   evt.isAutoRepeat(), evt.count())
     measure_evt.setAccepted(False)
     return measure_evt
コード例 #3
0
    def scroll(self, event: QtGui.QKeyEvent):
        key_map = {
            QtCore.Qt.Key_Left: (0, -1),
            QtCore.Qt.Key_Right: (0, 1),
            QtCore.Qt.Key_Down: (1, -1),
            QtCore.Qt.Key_Up: (1, 1),
        }

        delta = key_map.get(event.key())

        if event.nativeModifiers() & 1:  # shift key
            delta = (delta[0], delta[1] * 5)

        if event.nativeModifiers() & 2:  # shift key
            delta = (delta[0], delta[1] * 20)

        if delta is not None and self.app is not None:
            self.app.scroll(delta)
コード例 #4
0
ファイル: application.py プロジェクト: imbi7py/hyperclass
 def onKeyPress(self, event: QKeyEvent):
     try:
         event = dict(event="gui",
                      type="keyPress",
                      key=event.key(),
                      modifiers=event.modifiers(),
                      nativeModifiers=event.nativeModifiers(),
                      nativeScanCode=event.nativeScanCode(),
                      nativeVirtualKey=event.nativeVirtualKey())
     except Exception as err:
         print(f"HCApplication.keyPressEvent error: {err}")
     self.submitEvent(event, EventMode.Gui)