繁体   English   中英

Qt菜单栏事件

[英]Qt menu bar events

我已经使用“设计”选项在Qt创建器中添加了菜单和菜单项。 然后,我rt单击下面的关联操作,然后单击“转到广告位”。 这将带我到单击该菜单项时将要执行的代码。 完美-差不多。 我想区分单击和按住Shift单击菜单项。 看起来我可以通过执行以下操作来确定是否已使用shift按钮修改了该事件:

if (event->modifiers() & Qt::ShiftModifier) {
    ...
}

问题在于菜单单击操作没有传递任何事件。

我可以做我想做的事吗? 我是否需要弄清楚如何传递事件-还是有其他方法可以测试是否按下了Shift键?

谢谢!

在被调用的插槽中,您可以使用QGuiApplication::keyboardModifiers()获得当前的键盘修饰符:

void MainWindow::on_action_triggered() {
    if (QApplication::keyboardModifiers() & Qt::ShiftModifier) {
        // Shift key is down.
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM