c++ - QAction 快捷方式并不总是有效

标签 c++ qt keyboard-shortcuts action

我在菜单项上有一个 Qaction,用于删除我的一个 View 中的选定项。这是我创建 Action 的方式:

deleteAct = new QAction( tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));  

我设置了一个应该触发 delectAct 操作的键盘快捷键(删除键)。它大部分时间都有效,但在某些时候它会停止工作......有谁知道为什么快捷方式会停止工作?

注意:如果我从菜单项中触发该操作,该操作仍然有效。它只是不...的快捷方式

最佳答案

您需要将操作添加到小部件,因为小部件将监听关键事件。 假设“this”是一个主窗口,简单地做

addAction(deleteAct);

请注意,您可以将相同的操作添加到多个小部件(这就是分离操作概念的全部意义所在)。所以可以将它添加到主窗口到菜单。

关于c++ - QAction 快捷方式并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9319407/

相关文章:

c++ - 指向对象的指针数组返回乱码

c++ - Qt4:从 QAbstractTableModel 中读取默认的 mimeData

QTest 无法将事件传递给子窗口小部件

c++ - 无法编译Qt Creator

c++ - CUDA/CUBLAS : Accessing elements in an array

c++ - 最简单的 “error: taking the address of a temporary object”修复程序?

javascript - Node C++ 扩展仅在 docker 中加载 Google Compute Engine 上的段错误

debugging - 如何在 Vim 中找出某个快捷键触发了哪个命令

intellij-idea - IntelliJ中如何快速跳转到类声明行?

visual-studio - Visual Studio : Is there a keyboard shortcut to jump between code editor window and find results?