Пример #1
0
def scroll_line(key, window, focus_widget, key_filter, *args, **kwargs):
    if focus_widget is not None:
        with key_filter.disable_filtering:
            QApplication.sendEvent(
                focus_widget,
                QKeyEvent(QEvent.Type.KeyPress, key, Qt.KeyboardModifier(0)))
    return True
Пример #2
0
def scroll_to_boundary(top, window, focus_widget, key_filter, *args, **kwargs):
    if focus_widget is not None:
        with key_filter.disable_filtering:
            key = Qt.Key.Key_Home if top else Qt.Key.Key_End
            QApplication.sendEvent(
                focus_widget,
                QKeyEvent(QEvent.Type.KeyPress, key, Qt.KeyboardModifier(0)))
    return True
Пример #3
0
def scroll_page(up, window, focus_widget, key_filter, *args, **kwargs):
    if focus_widget is not None:
        with key_filter.disable_filtering:
            key = Qt.Key.Key_PageUp if up else Qt.Key.Key_PageDown
            QApplication.sendEvent(
                focus_widget,
                QKeyEvent(QEvent.Type.KeyPress, key, Qt.KeyboardModifier(0)))
    return True
Пример #4
0
 def send_text_using_keys(self, text):
     if self.host_widget is not None and not sip.isdeleted(
             self.host_widget):
         self.host_widget.setFocus(Qt.FocusReason.OtherFocusReason)
         with QApplication.instance().key_filter.disable_filtering:
             for ch in text:
                 key = getattr(Qt, f'Key_{ch.upper()}', Qt.Key.Key_A)
                 QApplication.sendEvent(
                     self.host_widget,
                     QKeyEvent(QEvent.Type.KeyPress, key,
                               Qt.KeyboardModifier(0), ch))
             # Ensure key events are delivered before any other processing
             while QApplication.instance().processEvents():
                 pass