Mam Qaction w pozycji menu do usuwania wybranych elementów w jednym z moich widoków. Oto, jak utworzyć akcję:Skrót QAction nie zawsze działa
deleteAct = new QAction(tr("Delete Selected"), this);
deleteAct->setShortcut(QKeySequence::Delete);
connect(deleteAct, SIGNAL(triggered()), this, SLOT(deleteSelected()));
Konfiguruję skrót klawiaturowy (klawisz Delete), który powinien wywołać akcję delectAct. Działa przez większość czasu, ale w niektórych momentach przestaje działać ... Czy ktoś wie, dlaczego skrót przestanie działać?
Uwaga: czynność będzie nadal działać, jeśli uruchomię ją z elementu menu. Jej tylko skrót, który nie ...
+1 Moje skróty menu kontekstowego nie działały tak, jak chciałem, dopóki nie dodałem do akcji głównego okna. – rendon
Dodatkowo, action-> setShortcutContext (...); należy ustawić, patrz odpowiedź użytkownika362638. – Tob
Niekoniecznie; domyślny kontekst skrótu to Qt :: WindowShortcut, który jest tym, czego chcesz w przykładzie oryginalnego plakatu. Nie chcesz, aby klawisz Delete usuwał wybraną pozycję w oknie A po naciśnięciu Delete w oknie B, z pewnością. Qt :: ApplicationShortcut ma sens w przypadku skrótów obejmujących całą aplikację (tzn. Skrótów, które powinny działać z dowolnego okna aplikacji). –