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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как назначить shortcut для меню дочернего виджета  (Прочитано 3621 раз)
Yu/2
Гость
« : Май 07, 2007, 18:28 »

Qt 4.3.0beta

Есть главное окно, у которого есть дочерние, у которых в свою очередь еще дочерние и т.д. У одного из виджетов (QTreeWidget) есть popup меню. Вопрос в том, как пунктам этого меню назначить горячие клавиши. Схема как для главного окна не работает, т.е. act->setShortcut("D") сделать можно, но при нажатии на D ничего не происходит. Здесь act - это член класса одного из дочерних окон, т.е. не QMainWindow.

Что делать?
Записан
epazzz
Гость
« Ответ #1 : Май 07, 2007, 18:48 »

можно отлавливать нажатие клавиш в keyPressEvent ( QKeyEvent * e )
и вызывать обработчики пунктов вашего Popup Menu
Записан
Yu/2
Гость
« Ответ #2 : Май 07, 2007, 19:12 »

Мне бы главное понять: есть ли какой-то "официальный" (рекомендованный TrollTech-ми) способ реализации такой функциональности или же прийдется делать какой-то хак. Улыбающийся
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #3 : Май 07, 2007, 19:15 »

эвенты чем не подходят? Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Yu/2
Гость
« Ответ #4 : Май 07, 2007, 19:23 »

Да оно все подходит, можно все что угодно через что угодно сделать. Улыбающийся НО! Если есть уже конкретный механизм работы с шоткатами, как для главного окна, то вот и подумалось что наверное для дочерних все то же самое.

+ В данном случае нужно чтоб мой виджет был в фокусе, а это нигде не отображается (это ж QTreeWidget). Юзер будет тыкать на клавишу и удивляться почему оно не работает.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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