Russian Qt Forum
Ноябрь 26, 2024, 00:40 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QMenu не QAction  (Прочитано 8536 раз)
QuAzI
Гость
« : Декабрь 13, 2010, 03:18 »

Как по феншую обработать клик по QMenu (имеется введу именно клик по QMenu, верхнего уровня, а не по дочернему QAction в выпадающем списке), если при привязке его выдаёт ошибку
Код:
Object::connect: No such signal QMenu::triggered() 

Привязываю так
Код:
connect(ui->mCacheDir, SIGNAL(triggered()), this, SLOT(mcCacheDir()));
Записан
Fat-Zer
Гость
« Ответ #1 : Декабрь 13, 2010, 04:59 »

А зачем? добавьте QAction в строку меню...
Записан
QuAzI
Гость
« Ответ #2 : Декабрь 13, 2010, 08:39 »

Не для всех пунктов меню удачно подбирается категория. А делать меню с одним пунктом немного странно, с точки зрения пользователя.
Записан
alexman
Гость
« Ответ #3 : Декабрь 13, 2010, 09:37 »

А делать меню с одним пунктом немного странно, с точки зрения пользователя.
Нормальная ситуация! А вообще можно попробовать void QMenu::aboutToShow () [signal].
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Декабрь 13, 2010, 09:52 »

http://doc.qt.nokia.com/stable/qmenu.html#menuAction
Записан
QuAzI
Гость
« Ответ #5 : Декабрь 13, 2010, 13:11 »

Согласно документации всё-таки есть такой сигнал QMenu::triggered. Как и aboutToShow. Но ни на FreeBSD, ни на Windows (Qt SDK 2010.05) triggered() не отработал. Ну и чёрт с ним, aboutToShow отлично его заменяет.
Записан
SABROG
Гость
« Ответ #6 : Декабрь 13, 2010, 13:15 »

Так пробовал?

Код
C++ (Qt)
ui->menuBar->addAction(tr("Quit"), this, SLOT(close()));
Записан
alexman
Гость
« Ответ #7 : Декабрь 13, 2010, 14:46 »

Согласно документации всё-таки есть такой сигнал QMenu::triggered.
Вообще-то есть сигнал void QMenu::triggered ( QAction * action ) [signal] // This signal is emitted when an action in this menu is triggered. Но вы же не добавляете ни одного экшина, то есть сигнал и не должен отрабатывать.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #8 : Декабрь 13, 2010, 17:22 »

пункт меню на QMenuBar - это QAction, отсель и копайте
Записан

Юра.
Fat-Zer
Гость
« Ответ #9 : Декабрь 13, 2010, 18:30 »

пункт меню на QMenuBar - это QAction, отсель и копайте
Вообще нет - смотрите документацию
ЗЫ: имел ввиду тоже, что и SABROG
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Декабрь 13, 2010, 19:15 »

>>Вообще нет - смотрите документацию.
У QMenu можно узнать соответствующий ему QAction. Т.е. логика и напрашивается такая, как я описал. Просто до ума не доведено.
Записан

Юра.
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.128 секунд. Запросов: 23.