У меня есть собственный виджет, который расширяет QMainWindow
. Там я добавляю несколько QAction
в строку меню вместе с сочетаниями клавиш для каждого, и они работают нормально. Теперь я хочу удалить некоторые из этих действий из строки меню, но я хочу оставить ярлыки включенными (пользователь может узнать о доступности ярлыков из диалогового окна Справка). Поэтому сначала я решил, что сделаю действия невидимыми.
Это не сработало, поэтому я думаю, что действие не может быть невидимым, если ярлыки должны работать. Поэтому я добавил его в главное окно, но они все равно не работают. Любая идея, как мне заставить это работать? Вот мой код. Все, что должно произойти, есть в методе 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
}