|
|
|
Riviero |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
Создаётся QMenu в стиле:
Пункт 1, Пункт 2 .... Пункт Х. Как определить на какой нажали. Или как передать параметр от Action(а)? |
|||
|
||||
baldman88 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
Пункты в меню добавляются двумя способами:
1. Прямое добавление QAction; 2. Создание QAction при добавлении пункта в меню. В первом случае Вы создаете QAction и соединяете его сигнал (triggered) с нужным слотом. Во втором случае QMenu возвращает созданный QAction, сигналы которого также соединяются с нужными слотами. Получилось сумбурно. Вот пример:
|
|||
|
||||
Riviero |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
||||
|
||||
baldman88 |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
Лучше опишите более конкретно задачу. Чего Вы хотите добиться? А то как-то не очень понятно в чем именно проблема |
|||
|
||||
ss |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 131 Регистрация: 17.5.2007 Репутация: нет Всего: нет |
делаешь функцию добавления пункта напр.
или (ООП) можно переопределить QAction. и в методе Event (или свой метод написать) написать свой обработчик тогда после вызова QAction *a = menu.exec(x,y) получим ссылку на объект со своим обработчиком. |
||||
|
|||||
Riviero |
|
||||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
Пункты меню загружаются из БД, те мне надо знать в конечном итоге ID пункта меню, на который я нажал.
Это сообщение отредактировал(а) Riviero - 7.6.2016, 15:58 |
||||
|
|||||
baldman88 |
|
||||||||||
Бывалый Профиль Группа: Участник Сообщений: 210 Регистрация: 18.1.2009 Репутация: нет Всего: 7 |
Это Вы что-то эдакое придумали ... Тогда можно попробовать сделать так:
В данном случае слот someSlot просто обертка, которая будет принимать в качестве параметра QAction, соответствующий нажатому пункту, и, исходя из "ЗНАЧЕНИЯ НУЖНЫХ ПАРАМЕТРОВ" (например text), вызывать соответствующую функцию. Что-то вроде:
|
||||||||||
|
|||||||||||
Riviero |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 136 Регистрация: 25.3.2010 Репутация: нет Всего: 3 |
||||
|
||||
borisbn |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 48 Всего: 135 |
У QAction, как и у любого QObject есть setProperty() и property().
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |