我有一个扩展的自定义小部件QMainWindow
。在那里,我QAction
在菜单栏中添加了一些 s,以及每个的键盘快捷键,它们工作正常。现在我想从菜单栏中删除其中一些操作,但我想保持启用快捷方式(用户可以从帮助对话框中了解快捷方式的可用性)。所以首先我决定让这些动作不可见。
那行不通,所以我猜如果快捷方式必须起作用,该操作就不会是不可见的。所以我将它添加到主窗口,但它们仍然无法正常工作。任何想法,我该如何让它工作?这是我的代码。任何需要发生的事情都在方法中someMethod
。
class MyWidget: public QMainWindow {
public:
MyWidget();
};
MyWidget::MyWidget() {
QAction *myAct = new QAction(tr("&Some Text"), this);
fNextmyActPageAct->setShortcut(QKeySequence(Qt::Key_Right));
myAct->setVisible(false); //adding this does not work
connect(myAct, SIGNAL(triggered()), this, SLOT(someMethod()));
...
QMenu *someMenu = menuBar()->addMenu(tr("&Some Menu"));
someMenu->addAction(myAct); //this works, the option shows up in the menu 'Some Menu' and the shortcut works
this->addAction(myAct); //does not work
}