Russian Qt Forum
Июля 06, 2025, 21:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Фокус & arrow buttons  (Прочитано 2642 раз)
jurtal
Гость
« : Июня 02, 2011, 12:20 »

Всем привет!
Столкнулся с непонятным для меня фактом. Есть группа виджетов. Часть отнаследована от QWidget, часть от QPushButton. проблемма в том, что при помощи клавиш "стрелки" фокус перемещается только по виджетам наследованным от кнопок. Наследование от QPushButton вместо QWidget решает вопрос... В чем может быть проблемма?
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #1 : Июня 02, 2011, 12:22 »

В чем может быть проблемма?
void   QWidget::setFocusPolicy ( Qt::FocusPolicy policy )
У QPushButton используется Qt::StrongFocus.
« Последнее редактирование: Июня 02, 2011, 12:24 от GreatSnake » Записан

Qt 5.11/4.8.7 (X11/Win)
jurtal
Гость
« Ответ #2 : Июня 02, 2011, 12:38 »

Думаю что не поэтому. У меня тоже у всех виджетов StrongFocus.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #3 : Июня 02, 2011, 12:54 »

QWidget игнорирует стрелочные кнопки, которые обрабатывет QAbstractButton.
Почему бы не наследоваться от последнего?
Записан

Qt 5.11/4.8.7 (X11/Win)
jurtal
Гость
« Ответ #4 : Июня 02, 2011, 12:59 »

Видимо в этом причина. Так и сделал, отнаследовался от абстрактной кнопки. Я не нашел в ассистанте где у кнопок стрелки обрабатываются. Надо внимательнее глянуть. Спасибо.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



Просмотр профиля
« Ответ #5 : Июня 02, 2011, 13:01 »

Я не нашел в ассистанте где у кнопок стрелки обрабатываются.
void QAbstractButton::keyPressEvent ( QKeyEvent * e ) [virtual protected]
Записан

Qt 5.11/4.8.7 (X11/Win)
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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