3 / 3 / 2
Регистрация: 10.09.2016
Сообщений: 18
1

Как сделать так, чтобы только один виджет всегда обрабатывал события keyPressEvent?

27.11.2016, 01:08. Показов 1273. Ответов 5
Метки нет (Все метки)

У меня есть виджет который обрабатывает события нажатия клавиш. Рядом с ним расположен другой виджет с кнопками. Когда я нажимаю на кнопки второго виджета фокус ввода переключается на второй виджет. Как сделать так чтобы фокус ввода всегда оставался на первом виджете? Или как сделать так, чтобы первый виджет обрабатывал события нажатия клавиш всегда, а не только тогда, когда он находится в фокусе?
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.11.2016, 01:08
Ответы с готовыми решениями:

Как сделать так, чтобы события мыши обрабатывал QScrollArea, а не виджет, находящийся в нем?
Как сделать так, чтобы события мыши обрабатывал QScrollArea, а не виджет, находящийся в нем? По...

Как сделать так чтобы виджет-ребенок был на всю площадь виджета-родителя?
собсно сабж.

Как сделать так, чтобы php скрипт поочередно обрабатывал картинки поступившие после разархивации в папку?
Здравствуйте, программисты! Не понимаю, как сделать так, чтобы скрипт, который обрабатывает...

Как сделать так, чтобы bat-файл запускался только один раз?
Как сделать, чтобы программа(bat файл) запускалась только один раз при включении компьютера, и...

5
1067 / 649 / 229
Регистрация: 14.01.2016
Сообщений: 2,031
Записей в блоге: 9
27.11.2016, 04:01 2
Лучший ответ Сообщение было отмечено Befezdow как решение

Решение

http://doc.qt.io/qt-5/focus.html
Прочитай, а затем смотри в сторону setFocusPolicy.
1
3 / 3 / 2
Регистрация: 10.09.2016
Сообщений: 18
28.11.2016, 01:03  [ТС] 3
Да я разобрался, если кому интересно, то для виджета который должен получать события клавиатуры вызываем QWidget::setfocusPolicy(Qt::StrongFocus), а для тех виджетов которые не должны получать эти события устанавливаем QWidget::setfocusPolicy(Qt::NoFocus). Вообщем, спасибо.
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
28.11.2016, 14:37 4
А как тогда кнопки нажимать без мыши?
0
3 / 3 / 2
Регистрация: 10.09.2016
Сообщений: 18
28.11.2016, 19:49  [ТС] 5
А причем здесь мышь? Я про клавиши клавиатуры говорил и фокус только для них менял.
0
6992 / 6030 / 2738
Регистрация: 14.04.2014
Сообщений: 25,792
28.11.2016, 21:24 6
Ну если кто-то захочет взаимодействовать с помощью клавиатуры с элементами управления, а ты фокусы скрутил.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.11.2016, 21:24

Как сделать так, чтобы страница автоматически обновилась через 1 секунду только один раз?
как сделать так, чтобы страница автоматически обновилась через 1 секунду только один раз? Я имею...

Тонкости верстки. Сделать так чтобы один блок всегда повторял высоту другого, даже если она явно не задана
У меня есть 3 блока. Один родительский, а другие два в нем. Нужно сделать так, чтобы высота...

Сделать так, чтобы только один поток обращался к PictureBox
Здравствуйте! Очень нужна ваша помощь. Я написала программу, где я запуская несколько потоков, и...

Как сделать так чтобы поле всегда отображалось в отчете?
Когда в поле введено хоть какое-то значение, то в отчете это поле видно прекрасно. Но если туда...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.