У меня есть значительное приложение Qt, которое находится в разработке с Qt 3 дня, и теперь оно содержит десятки окон с тысячами элементов меню, элементов управления и других инициируемых пользователем действий. В настоящее время он компилируется под Qt 4.6 для Linux, MacOS/X и Windows.Есть ли «простой» способ добавить настраиваемые сочетания клавиш в мое приложение Qt4?
Новый запрос функции от высокого заключается в том, что пользователь должен иметь возможность настраивать любые сочетания клавиш в этом приложении ... т. Е. Должен быть пункт меню «Настроить ключевые привязки ...», который при выборе , открывается диалоговое окно, в котором перечислены все действия в приложении и их текущая привязка клавиш (если есть), и позволяет пользователю назначать или изменять привязки клавиш для любых и всех действий, которые ему нужны, а затем сохранять его настройки и использовать приложений с его собственными настройками привязки клавиш.
Это похоже на довольно амбициозную вещь для реализации, учитывая количество клавиатурных действий в приложении, и мне интересно, существуют ли какие-либо существующие классы или библиотеки кода, доступные для помощи в подобных вещах, или если это то, что я собираюсь реализовать с нуля сам. Система интернационализации Qt, в частности, кажется, что она может быть адаптирована для помощи в чем-то подобном - разница заключается в том, что вместо того, чтобы (фактически в дополнение к) разработчик выбирал комбинации клавиш перед отправкой приложения, пользователи могли выбирать/изменять комбинации клавиш при использовании приложения (если они, конечно, недовольны отправленными значениями по умолчанию).
Есть ли у кого-нибудь намеки или указатели на код или подходы к реализации этой функции?
Из того, что я понимаю, о материале перевода, это Wouldn» t хорошо работает для этой потребности. Другие аспекты интернационализации могут работать, но я бы предположил, что большинство людей просто внедряют интернационализацию ярлыков в переводы строк, связанных с ярлыками, используя интерпретацию «&» Qt. –