Tengo un elemento Qation en un menú para eliminar elementos seleccionados en una de mis vistas. Aquí es cómo crear la acción:El atajo de QAction no funciona siempre
deleteAct = new QAction(tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));
puedo configurar un atajo de teclado (Tecla Suprimir), que deben dar lugar a la acción delectAct. Funciona la mayor parte del tiempo, pero en algunos puntos deja de funcionar ... ¿Alguien sabe por qué el atajo dejaría de funcionar?
Nota: la acción todavía funciona si la disparo desde el elemento del menú. Es sólo el acceso directo que no lo hace ...
+1 Mis accesos directos del menú contextual no funcionaron como yo quería hasta que también he agregado acciones a la ventana principal. – rendon
Además, action-> setShortcutContext (...); tiene que ser configurado, ver user362638 respuesta. – Tob
No necesariamente; el contexto de acceso directo predeterminado es Qt :: WindowShortcut, que es lo que desea en el ejemplo del póster original. No desea que la tecla Eliminar elimine el elemento seleccionado en la ventana A cuando presiona Eliminar en la ventana B, seguramente. Qt :: ApplicationShortcut tiene sentido para los accesos directos de toda la aplicación (es decir, los accesos directos que deberían funcionar desde cualquier ventana de la aplicación). –