Ho un Qaction su una voce di menu per l'eliminazione di elementi selezionati in una delle mie viste. Ecco come genero l'azione:Il collegamento di scelta rapida non funziona sempre
deleteAct = new QAction(tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));
a configurare una scorciatoia da tastiera (Delete Key), che dovrebbe far scattare l'azione delectAct. Funziona la maggior parte del tempo ma in alcuni punti smette di funzionare ... Qualcuno sa perché la scorciatoia smetterebbe di funzionare?
Nota: l'azione funziona ancora se la si attiva dalla voce di menu. Il suo solo il collegamento che non è così ...
+1 Le scorciatoie del menu di scelta rapida non hanno funzionato come volevo finché non avessi aggiunto anche le azioni della finestra principale. – rendon
Inoltre, action-> setShortcutContext (...); deve essere impostato, vedere la risposta dell'utente 362638. – Tob
Non necessariamente; il contesto di scelta rapida predefinito è Qt :: WindowShortcut, che è ciò che si desidera nell'esempio del poster originale. Non vuoi il tasto Canc per eliminare l'elemento selezionato nella finestra A quando premi Elimina nella finestra B, sicuramente. Qt :: ApplicationShortcut ha senso per scorciatoie a livello di applicazione (ovvero scorciatoie che dovrebbero funzionare da qualsiasi finestra dell'applicazione). –