1

我在 Visual Studio 2013 中使用 Qt 插件创建了一个默认的 Qt 应用程序。没有事件过滤器。我所有的多媒体按钮事件都没有转发到 Windows。我试图覆盖QMainWindow::event并查看输出:

bool MainWindow::event(QEvent *event)
{
    cout << event->type() << endl;

    return QMainWindow::event(event);
}

按:

51 - QEvent::ShortcutOverride
51 - QEvent::ShortcutOverride
6  - QEvent::KeyPress

发布:

7  - QEvent::KeyRelease

它们由 Qt 应用程序注册。是什么阻碍了他们?

我还有一个笔记本电脑,其多媒体按钮与功能键分开,除了音量增大和音量减小按钮外,它们都可以工作。按下按键时会弹出一个通知(来自驱动程序),但是当我按住按钮时音量不会改变。

4

0 回答 0