Qt Creator - Добавить сочетания клавиш в пункты меню

Я создал ярлык событий, таких как:

new QShortcut(QKeySequence(Qt::CTRL + Qt::Key_Q), this, SLOT(close()));

Но теперь я хотел бы показать "Ctrl+Q" в пункте меню здесь:

Выход

Как я могу это сделать? Кажется, я не нахожу способ сделать это в Qt Creator.

2 ответа

Решение

Вообще вы бы использовали QAction класс для этого, так что у вас будет QMenu к которому вы добавите действия, в вашем случае CLOSE, Тогда вы можете использовать SetShortcut добавить "CTRL + Q" в меню.

pNewAction->setShortcut(QString(strAccel.c_str()));

где pNewAction имеет тип QAction,

Вы можете установить сочетания клавиш в QtDesigner в "Редакторе действий" (вкладка внизу, по умолчанию выбрана вкладка "Редактор сигналов / слотов").

Здесь перечислены все определенные QActions. Двойной щелчок по полю в столбце "ярлык" откроет нужный диалог.

Это добавит ярлык к QAction (создаст инициируемые события) и установит его в виде видимого текста, например, в пункте меню (отображается только в приложении, но не в QtDesigner).

В "Редакторе свойств" есть больше вариантов "горячих клавиш" (например, сделать их переводимыми).

Добавить ярлыки для QActions в редакторе действий

Другие вопросы по тегам