Название: Источник QAction Отправлено: Igors от Июль 03, 2014, 16:43 Добрый день
Как в слоте (подключенном к QAction с QueuedConnection) определить был ли это выбор из меню или сработал shortcut? Спасибо Название: Re: Источник QAction Отправлено: GreatSnake от Июль 03, 2014, 16:54 Если shortcut назначен через QAction::setShortcut(), то никак.
Но, если через QAction::setShortcutContext( Qt::WidgetShortcut ) сбросить его "глобальность" и создать отдельный QShortcut, то уже можно) Название: Re: Источник QAction Отправлено: Igors от Июль 03, 2014, 17:14 Если shortcut назначен через QAction::setShortcut(), то никак. ВерюНо, если через QAction::setShortcutContext( Qt::WidgetShortcut ) сбросить его "глобальность" и создать отдельный QShortcut, то уже можно) Там на Вындоуз не видно др ходов кроме Qt::ApplicationShortcut Может стоит взять чуть "ширше" - как апдейтить меню? Если добавлять/удалять айтемы - то напрямую, в том месте где случилось. А вот остальное (enabled/disabled, имя изменилось) напрямую получается довольно хлопотно, в приложении (которым я занимаюсь) меню апдейтится "перед тем как вызывается". Отловить момент входа юзверя в меню несложно, но вот что если по клавише hotkey? Сейчас сделано "апдейт всего меню по нажатию Command" - коряво, нужно проверять только нажатый айтем. Может прорываться через QShortcitEvent ? Название: Re: Источник QAction Отправлено: GreatSnake от Июль 03, 2014, 17:21 При создании QAction shortcut добавляйте для галочки.
Настоящий shortcut создавайте через QShortcut. Меню обновляйте непосредственно перед его показом. Название: Re: Источник QAction Отправлено: Igors от Июль 03, 2014, 20:38 При создании QAction shortcut добавляйте для галочки. Не очень понял. Сделал так: когда получаю QEvent::ShortcutOverride то по клавише нахожу этот action (создал QHash <int, QAction *>) и там уже с ним разбираюсь. Недостаток: на ОSX меню успевает мигнуть/подсветиться :'(Настоящий shortcut создавайте через QShortcut. Меню обновляйте непосредственно перед его показом. Название: Re: Источник QAction Отправлено: GreatSnake от Июль 04, 2014, 08:08 Я уже не первый раз наблюдаю как Вы изначально запрашиваете здесь варианты решения одной проблемы,
но в итоге своим каким-то странным путём приходите к какому-то совершенно другому решению. Или у Вас какие-то проблемы с постановкой или ... В начале топика была одна проблема. Потом при взятии чуть "ширше" совершенно другая. После которой мне показалось, что есть сложности в формировании меню. На что было предложено формировать меню по запросу. В итоге результат довольно-таки странный. Название: Re: Источник QAction Отправлено: Igors от Июль 04, 2014, 10:18 В начале топика была одна проблема. Потом при взятии чуть "ширше" совершенно другая. Та же самая. Я хочу разбираться с enabled/disabled (айтема меню) в момент срабатывания по клавише или в момент показа. То что сделал вчера - нехорошо, сегодня заклинило в др месте. Обдумаю более тщательно, тогда отпишусь |