簡體   English   中英

Qt中的KeyPressEvent

[英]KeyPressEvent in Qt

我正在制作一個應用程序來為某些事件制作一些鍵盤快捷鍵。 因此,我需要在單擊按鈕后檢測按下的鍵盤快捷鍵。 例如,我有一個按鈕,上面有文字“更改”。 當我點擊它時,它上面的文字變為“按鍵”然后我需要用戶輸入他想要映射的快捷鍵,然后按鈕的文本變為按下的鍵。 在網上沖浪時,我只能找到這個功能:

  void MainWindow::keyPressEvent(QKeyEvent *event)
  {
  ...
  }

但它不符合我的目的,因為我需要從定義的槽函數調用此函數,以便我只能在需要時檢測。 有誰知道如何實現這一目標?

您可以設置一個狀態變量,指示用戶按下按鈕。 然后該窗口應該響應下一個keyPressEvent(僅當設置了此狀態變量時)並且之后重置狀態變量。

void MainWindow::keyPressEvent(QKeyEvent *event)
{
    if (process_key) {
        /* Do whatever needs to be done */
        process_key = false
    }
}

暫無
暫無

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

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