如何隐藏Qt主菜单键盘快捷键?

普拉萨德·席尔瓦(Prasad Silva)

例如,考虑一个具有Delete键的快捷方式的主菜单项(以Qt :: WindowShortcut为上下文)。我希望另一个QWidget在聚焦时处理Delete键。这是不可能的,因为Delete键是由主菜单处理的。我试图抓住键盘上的QWidget焦点,但这没有任何作用。这可能吗?

普拉萨德·席尔瓦(Prasad Silva)

我可以通过在QWidget处于焦点状态时在qApp上安装事件过滤器(在失去焦点时将其删除),并对所有QEvent :: Shortcut类型返回true来获得所需的行为。

void    MyWidget::focusInEvent( QFocusEvent *event )
{
    qApp->installEventFilter(this);
}

void    MyWidget::focusOutEvent( QFocusEvent *event )
{
    qApp->removeEventFilter(this);
}

bool    MyWidget::eventFilter( QObject *target, QEvent *event )
{
    if (event->type() == QEvent::Shortcut)
    {
        // If I care about this shortcut, then return true to intercept
        // Else, return false to let the application process it
    }

    return false;
}

如果有更好的方法,我很想听听!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何隐藏Qt主菜单键盘快捷键?

来自分类Dev

Lubuntu菜单键盘快捷键

来自分类Dev

Lubuntu菜单键盘快捷键

来自分类Dev

右键菜单项的单键盘快捷键

来自分类Dev

轻快的菜单键盘快捷键分配

来自分类Dev

如何使用键盘快捷键打开菜单?

来自分类Dev

如何使用键盘快捷键隐藏桌面快捷方式/图标?

来自分类Dev

如何删除Anaconda的键盘快捷键

来自分类Dev

如何创建通用键盘快捷键?

来自分类Dev

如何使用键盘快捷键挂起?

来自分类Dev

如何禁用键盘快捷键?

来自分类Dev

如何删除Anaconda的键盘快捷键

来自分类Dev

如何创建通用键盘快捷键?

来自分类Dev

如何修改Firefox的键盘快捷键?

来自分类Dev

如何更改Evolution的键盘快捷键?

来自分类Dev

如何删除键盘快捷键

来自分类Dev

如何制作特定的键盘快捷键?

来自分类Dev

如何更改VirtualBox键盘快捷键

来自分类Dev

如何使用|| 在键盘快捷键上?

来自分类Dev

如何还原默认的键盘快捷键?

来自分类Dev

如何从终端创建键盘快捷键?

来自分类Dev

如何使用QTest发送菜单项的键盘快捷键?

来自分类Dev

如何在vscode quickFix菜单中设置用于选择建议的键盘快捷键?

来自分类Dev

如何使用键盘快捷键/绑定激活tkinter菜单和工具栏?

来自分类Dev

如何在Linux Mint 13中禁用菜单的键盘快捷键?

来自分类Dev

如何为嵌套菜单项添加自定义键盘快捷键?

来自分类Dev

如何更改Firefox上下文菜单的键盘快捷键?

来自分类Dev

如何为嵌套菜单项添加自定义键盘快捷键?

来自分类Dev

在Mac OS X中使用键盘快捷键时如何禁用顶部菜单闪烁