繁体   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