c++ - Qt 中的按键事件

标签 c++ qt

我正在制作一个将一些键盘快捷键映射到某个事件的应用程序。因此,我需要检测单击按钮后按下的键盘快捷键。例如,我有一个按钮,上面有文字“更改”。当我点击它时,它上面的文字会变成“按键”,然后我需要用户输入他想要映射的快捷键,然后按钮的文字会变成按下的键。 在网上冲浪时,我只能找到功能:

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

但它不能满足我的目的,因为我需要从定义的插槽函数中调用此函数,以便仅在需要时进行检测。 有人知道如何实现吗?

最佳答案

您可以设置一个状态变量来指示用户按下了按钮。然后窗口应该对下一个 keyPressEvent 使用react(仅当设置此状态变量时)并在之后重置状态变量。

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

关于c++ - Qt 中的按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8204212/

相关文章:

c++ - 如何在不使用任何迭代器的情况下获取 Qt 中 QList 的最小值和最大值?

c++ - 如何在数组中找到两个缺失值?

Qt:样式化 QTabWidget

c++ - 如何将 QML 信号与 C++ 槽连接?

c++ - 重写 Qt 的 mousePressEvent 会破坏 moveEvent 参数

qt - 如何使用 QtQuick 2 控件从资源加载 qml 文件

c++ - 如何在字符串中查找字符串

c++ - 无法在 C++ 中打印文本文件

c++ - OF_SHARE_DENY_NONE 不分享阅读?

c++ - 部署 Qt 应用程序时缺少功能