Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: Ryhel от Март 13, 2007, 17:08



Название: Помогите с шорткатом
Отправлено: Ryhel от Март 13, 2007, 17:08
Народ, подскажите, кто знает, как назначить для QMenu - элемента QMenuBar в QMainWindow полноценный шорткат, (не Alt+X, который задается через setText()) :) Qt-x11-opensource-4.2.3


Название: Re: Помогите с шорткатом
Отправлено: QCasper от Март 13, 2007, 17:16
Цитата: "Ryhel"
Народ, подскажите, кто знает, как назначить для QMenu - элемента QMenuBar в QMainWindow полноценный шорткат, (не Alt+X, который задается через setText()) :)


setShortcut()?
Полноценный это какой?


Название: Помогите с шорткатом
Отправлено: Ryhel от Март 13, 2007, 17:18
Такой же, как в QAction::setShortcut(). Дело в том, что в QMenu нет setShortcut(), а QMenu::menuAction()->setShortcut() эффекта почему-то не дает...


Название: Помогите с шорткатом
Отправлено: QCasper от Март 13, 2007, 17:27
Цитата: "Ryhel"
Такой же, как в QAction::setShortcut()


А вон оно че, ты хочешь, чтобы по шорткату меню вылазило?


Название: Помогите с шорткатом
Отправлено: Ryhel от Март 13, 2007, 17:29
Именно... Оно и вылазит, если сделать QMenu::setTitle("&Something") и нажать Alt+S. А мне нужно, чтобы открывалось по функциональным клавишам.


Название: Помогите с шорткатом
Отправлено: QCasper от Март 13, 2007, 17:35
Цитата: "Ryhel"
Именно... Оно и вылазит, если сделать QMenu::setTitle("&Something") и нажать Alt+S. А мне нужно, чтобы открывалось по функциональным клавишам.


Ну можно попробовать такой изврат - перехватывать нажатия на нужные клавиши, и делать show() для соответствующего меню.


Название: Помогите с шорткатом
Отправлено: Ryhel от Март 13, 2007, 23:49
Пробовал - show() его не открывает...


Название: Помогите с шорткатом
Отправлено: QCasper от Март 14, 2007, 13:17
Цитата: "Ryhel"
Пробовал - show() его не открывает...


Каг это? У меня работает. Правда под виндой.


Название: Помогите с шорткатом
Отправлено: Dodge от Март 19, 2007, 13:22
>> Пробовал - show() его не открывает...

на скока я помню это popup, делай не шоу а execute


Название: Помогите с шорткатом
Отправлено: Ryhel от Март 23, 2007, 00:25
нашел решение - QMenuBar::setActiveAction(QMenu::menuAction)