Итак, у меня есть действие, которое я хочу раскрыть в нескольких меню (одно из основных меню и некоторые контекстные меню). Мне бы хотелось, чтобы текст пункта меню немного отличался от меню к меню (чтобы сделать мнемонику уникальной и быть более или менее подробной по мере необходимости в каждом контексте).
В MFC (от которого я имею удовольствие мигрировать в данный момент) это было легко, поскольку каждый пункт меню определялся отдельно и мог отображаться на один и тот же идентификатор, который был бы связан с обработчиком. В Qt, однако, QAction
инкапсулирует поведение, а также текст / значок / и т.д. Так что я не думаю, что есть прямая поддержка для возврата другого текста в зависимости от того, где он используется.
Я думал о том, как это сделать, для каждого местоположения, чтобы создать «прокси» QAction
, который имеет текст, специфичный для этого контекста, и просто имеет сигнал triggered()
, связанный с исходным QAction
' с одним. Но я подумал, что должен сначала проверить, есть ли более простой способ приблизиться к этому.