crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
beginner
  опции профиля:
сообщение 20.11.2013, 10:15
Сообщение #1


Студент
*

Группа: Неактивирован
Сообщений: 17
Регистрация: 4.7.2013
Пользователь №: 3874

Спасибо сказали: 0 раз(а)




Репутация:   0  


Здравствуйте!

Имеется виджет, состоящий из QGridLayout, в ячейки которого динамически помещаются кнопки.
Количество строк и столбцов определяется также динамически.
Стандартно переход по кнопкам осуществляется только вверх-вниз (стрелками вверх-вниз и Tab) последовательно.
Мне бы хотелось переходить по столбцам грида стрелками влево-вправо.
Например, грид состоит из 5 строк и 2 столбцов . Находясь на кнопке в ячейке [3,1], по нажатию стрелки вправо перейти на кнопку в ячейке [3,2], а стрелкой влево-обратно.

Подскажите, пожалуйста, как это можно реализовать.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 20.11.2013, 12:23
Сообщение #2


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


В виджете сделать обработчик событий
void QWidget::keyPressEvent ( QKeyEvent * event ) [virtual protected]
а в нём смотреть какая клавиша нажата и изменять фокус соответствующего виджета-кнопки.


в помощь: Пример Тетрис
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
beginner
  опции профиля:
сообщение 20.11.2013, 17:41
Сообщение #3


Студент
*

Группа: Неактивирован
Сообщений: 17
Регистрация: 4.7.2013
Пользователь №: 3874

Спасибо сказали: 0 раз(а)




Репутация:   0  


спасибо
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 28.5.2025, 8:12