J'ai mis plusieurs raccourcis sur chaque QAction
, par ex. 'L, Right, Space'. mais le raccourci 'L' ne fonctionne pas maintenant. 'Right' et 'Space' peuvent fonctionner. De même, si j'inscris «A, B», «A» ne fonctionnera pas et «B» fonctionnera.La touche de raccourci multiple ne fonctionne pas
Si j'utilise QMainWindow::eventFilter()
moi-même, au lieu d'utiliser QAction::setShortcut()
, toutes les touches de raccourci fonctionneront.
Dans ce cas, bien sûr, le texte de la touche de raccourci ne s'affiche pas dans le menu principal.
J'ai testé sur Windows 7 x64 et Qt-5.9.1
QMap<QString, QAction*>& actions = qApp->keyActions().actions();
QMap<QString, QKeySequence> & seqMap = qApp->keyActions().keyMaps();
foreach(const QString& name, actions.keys()) {
QAction* a = actions[name];
QKeySequence seq = seqMap[name]; // e.g. QKeySequence("L, Right, Space")
a->setShortcut(seq);
a->setShortcutContext(Qt::ApplicationShortcut);
}
https://stackoverflow.com/a/46072736/5068056 – aghilpro
Que voulez-vous dire par 'L, Right, Space'? – aghilpro
Il vous recommande d'améliorer la description de votre problème, car il devrait lire ce qui suit: [Comment poser une bonne question?] (Https://stackoverflow.com/help/how-to-ask) – eyllanesc