@Mercury13
Программист на «си с крестами» и не только

Qt: как сделать, чтобы пункт меню и горячая клавиша делали чуть разное?

У меня есть программа перевода строк. Написана на Qt Widgets. Есть два режима: оригинал и перевод. Сильно разных и не вижу способа объединить их в один.
И есть команда «Добавить строку». Разумеется, находится в меню и подкреплена горячей кнопкой.

Что делается сейчас:
В режиме оригинала команда срабатывает и добавляет строку.
В режиме перевода команда недоступна.

Что я хочу:
В режиме оригинала работает, как и раньше.
В режиме перевода пункт меню недоступен. Горячая кнопка, если её случайно нажать, выводит плавающее окно: «Невозможно для перевода».

Как это правильно сделать на Qt?
(Само окошко есть и я его прикручу, хочется принцип такого разного поведения пункта меню и горячей кнопки.)
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
@Mercury13 Автор вопроса
Программист на «си с крестами» и не только
Всё оказалось просто. Создаём QAction и QShortcut с одной кнопкой. В ситуации, когда QAction недоступен, QShortcut делаем доступным, и наоборот.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
HemulGM
@HemulGM
Delphi Developer, сис. админ
При выполнении кода пункта меню проверяй что нужно и выводи окошко.

P.S. Если кнопка не доступна (Disabled), то и горячая клавиша не должна отработать. Но это зависит от того, как ты эту горячую клавишу назначаешь и обрабатываешь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы