У меня есть Qaction на элемент меню для удаления выбранных элементов в одном из моих представлений. Вот как я создать действие:QAction ярлык не всегда работает
deleteAct = new QAction(tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));
I настроить сочетание клавиш (Delete Key), который должен вызвать действие delectAct. Он работает большую часть времени, но в некоторых случаях он перестает работать ... Кто-нибудь знает, почему ярлык перестанет работать?
Примечание: действие все еще работает, если я вызываю его из пункта меню. Его просто ярлык, который не ...
+1 Мои ярлыки контекстного меню не работали так, как я хотел, пока я не добавил в действие главного окна тоже. – rendon
Кроме того, action-> setShortcutContext (...); должен быть установлен, см. ответ пользователя362638. – Tob
Не обязательно; контекстный контекстный контекст по умолчанию - Qt :: WindowShortcut, что вам нужно в примере исходного плаката. Вы не хотите, чтобы клавиша Delete удаляла выбранный элемент в окне A, если, конечно, нажав кнопку «Удалить» в окне B. Qt :: ApplicationShortcut имеет смысл для ярлыков на уровне приложений (т. Е. Ярлыков, которые должны работать из любого окна приложения). –