簡體   English   中英

如何在PySide / Qt中攔截/重定向擊鍵

[英]How can I intercept/redirect a keystroke in PySide/Qt

我正在用PySide / Qt編寫一個簡單的應用程序。 我想要一個應用程序范圍內的快捷方式,它將捕獲特定的擊鍵(Page Down)並將其發送到特定的小部件(textEdit)。

換句話說,如果有人按下Page Down鍵,則我想滾動textEdit(只讀)中的文本。

知道如何實現這一目標。 任何幫助/提示將不勝感激!

提前致謝!

這是我的解決方案:

self.pgdwn = QShortcut(self)
self.pgdwn.setKey(QKeySequence(Qt.Key_Down))
self.pgdwn.activated.connect(lambda: self.on_page_down())

def on_page_down(self):
    self.sendkeys(Qt.Key_PageDown)

def sendkeys(self, char, modifier=Qt.NoModifier):
    event = QKeyEvent(QEvent.KeyPress, char, modifier)
    QCoreApplication.sendEvent(self.textEdit, event)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM