Название: QAction и QMenu Отправлено: Lion от Март 15, 2007, 19:41 Если QAction полученный от QMenu::menuAction() добавить в тулбар, то можно вызвать это меню только по нажатию на маленькую стрелку у кнопки. Как заставить вылезть меню при нажатии на саму кнопку?
Название: QAction и QMenu Отправлено: Dodge от Март 16, 2007, 11:52 Как я понял, тебе нужно чтоб при нажатии на кнопку на тулбаре, вылезало попап меню... в обработчик события клика по кнопке, добавь execute соответствующего меню.
Название: QAction и QMenu Отправлено: Lion от Март 17, 2007, 13:15 В этом случае меню появляется в произвольном месте, кроме QAction и QMenu мне ничего не известно.
Название: QAction и QMenu Отправлено: Dodge от Март 19, 2007, 13:26 ммм... я несовсем понял проблему... move после execute не помогает?
Название: QAction и QMenu Отправлено: Lion от Март 19, 2007, 15:34 А координаты для move как определить? У меня нет доступа к тулбару куда будет помещен QAction.
Название: QAction и QMenu Отправлено: Dodge от Март 21, 2007, 12:02 Цитата: "Lion" А координаты для move как определить? У меня нет доступа к тулбару куда будет помещен QAction. ну в крайнем случае, если совсем никак не получить необходимые координаты, можно в мов передавать текущие координаты курсора мыши. #ifdef WIN32 POINT p; CursorPos(&p); int x = p.x, y = p.y; #else //код для линукса или макос... #endif Название: Re: QAction и QMenu Отправлено: _govorilka от Март 22, 2007, 04:46 Цитата: "Lion" Если QAction полученный от QMenu::menuAction() добавить в тулбар, то можно вызвать это меню только по нажатию на маленькую стрелку у кнопки. Как заставить вылезть меню при нажатии на саму кнопку? Прочитай в справке про QToolButton. Оно для твоей проблемы специально создано!!! Постри пример про QMainWindow, там тоже написано, как все в жизни устроено. Название: Re: QAction и QMenu Отправлено: Lion от Март 26, 2007, 22:31 Цитата: "_govorilka" Цитата: "Lion" Если QAction полученный от QMenu::menuAction() добавить в тулбар, то можно вызвать это меню только по нажатию на маленькую стрелку у кнопки. Как заставить вылезть меню при нажатии на саму кнопку? Прочитай в справке про QToolButton. Оно для твоей проблемы специально создано!!! Постри пример про QMainWindow, там тоже написано, как все в жизни устроено. QToolButton это хорошо, но как его имея QAction или хотябы установить нужное дефолтное значение popupMode через QToolBar? Название: Re: QAction и QMenu Отправлено: _govorilka от Март 27, 2007, 07:34 Для установки поведения меню есть функция QToolButton::setPopupMode();
Для твоего случая подходит QToolButton::InstantPopup - меню показывается при нажатие на кнопку, эту константу надо передать функции setPopupMode; Устанавить QAction можно через функцию setDefaultAction. Читай справку, смотри примеры, там все подробно написано!!! p.s. QToolButton добавляется в QToolBar через QToolBar::addWidget(); Название: QAction и QMenu Отправлено: Lion от Март 28, 2007, 22:28 Цитата: "Lion" кроме QAction и QMenu мне ничего не известно. В этом случае похоже никак :( Название: Re: QAction и QMenu Отправлено: sa_mel от Сентябрь 08, 2013, 08:06 С великодушного разрешения Модератора возможный рецепт решения проблемы (http://www.prog.org.ru/topic_25587_0.html) размещен в разделе "Уроки и статьи".
|