Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: abodnya от Апрель 21, 2013, 00:33



Название: Заблокировать переход на следующий виджет "стрелками"
Отправлено: abodnya от Апрель 21, 2013, 00:33
Есть форма созданная в дизайнере.
На форме есть несколько кнопок и внизу размещается виджет, унаследованый от QGraphicsView. В этом виджете перегружены события клавиатуры "стрелка влево" "стрелка вправо". Для надежности перегрузил также эти события в главном окне. Суть в том, что в программе у меня нажатиями "стрелки влево" и "стрелки вправо" просиходит навигация по кнопкам окна, которая мне не нужна, т.к. нажатия на эти кнопки должны быть только такими, какими я их перегрузил в event-е.
Чтоб не было так запутано, прикладываю скрин
http://i47.fastpic.ru/big/2013/0421/12/0a37b39e9e484893eefe0066e6e3a112.png

Т.е. программа время от времени перехватывает нажатия на "стрелки" и реагирует на них как на навигацию по кнопкам.
В дизайнере это:
http://i33.fastpic.ru/big/2013/0421/5f/13b02adac2da328d1b1d8c01112c3f5f.png

Как мне запретить программе навигацию по "стрелкам"?


Название: Re: Заблокировать переход на следующий виджет "стрелками"
Отправлено: NicK от Апрель 21, 2013, 00:47
Создать QAction на каждое событие


Название: Re: Заблокировать переход на следующий виджет "стрелками"
Отправлено: abodnya от Апрель 21, 2013, 00:53
т.е. к каждой кнопке переопределить пустой QAction ?
Можно небольшой пример?

Есть ли альтернативы? Может флажок какой-то убрать?


Название: Re: Заблокировать переход на следующий виджет "стрелками"
Отправлено: Bepec от Апрель 21, 2013, 09:42
Мб проще сделать NoFocus для кнопок? Нет выделения и перехода как бы.


Название: Re: Заблокировать переход на следующий виджет "стрелками"
Отправлено: abodnya от Апрель 21, 2013, 10:16
Да, это впринципе работает. Спасибо.