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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: QShortcuts срабатывают не только для родителя  (Прочитано 2536 раз)
unkeep
Гость
« : Август 09, 2013, 13:35 »

Код
C++ (Qt)
QShortcut *shortcut  = new QShortcut(Modules::ShortCuts::Add,parent);
   connect(shortcut, SIGNAL(activated() ), this, SLOT(AddModule()) );

сабж.
 в доках написано :
QShortcut::QShortcut ( const QKeySequence & key, QWidget * parent,....)
Constructs a QShortcut object for the parent widget. The shortcut operates on its parent, listening for QShortcutEvents that match the key sequence


соответственно ожидаю, что  shortcut будет слать сигнал только когда виджет parent в фокусе. А выходит не так. Почему?
Записан
Bepec
Гость
« Ответ #1 : Август 09, 2013, 13:45 »

Вот объясните мне пожалуйста, где здесь написано про фокус? Улыбающийся Где? Тыкните пожалуйста меня в это место. Ну пожааалуйста.

Записан
unkeep
Гость
« Ответ #2 : Август 09, 2013, 13:49 »

Вот объясните мне пожалуйста, где здесь написано про фокус? Улыбающийся Где? Тыкните пожалуйста меня в это место. Ну пожааалуйста.


видимо я заблуждаюсь, но я посчитал что "The shortcut operates on its parent" это и подразумевает. Если не так, то как тогда указать область действия?

проверять в слоте где фокус?
Записан
unkeep
Гость
« Ответ #3 : Август 09, 2013, 14:00 »

всё, нашёл Qt::ShortcutContext надо указать Qt::WidgetShortcut. По дефолту стоит Qt::WindowShortcut
Записан
Bepec
Гость
« Ответ #4 : Август 09, 2013, 14:08 »

Превосходно ^.^
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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