crossplatform.ru

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

 
Ответить в данную темуНачать новую тему
> Перемещение по Виджетам при нажатии на "Enter", ну хотябы перемещение по QLineEdit.
potkin
  опции профиля:
сообщение 26.11.2010, 23:47
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

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




Репутация:   0  


По умолчанию перемещение между Виджетами происходит при нажатии на клавишу "Таб", а вот как сменить эту клавишу на "Ентер" ???
может кто сталкивался, а то проблемка распространённая, кто писал складские программы, поймут )))
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 27.11.2010, 2:37
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

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




Репутация:   2  


что то вроде
void имя_головного_виджета::keyPressEvent(QKeyEvent *event)
{

    if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
        focusNextChild();
        return;
    }
    QWidget::keyPressEvent(event);


Сообщение отредактировал maint - 27.11.2010, 2:40
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 27.11.2010, 11:00
Сообщение #3


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


installEventFilter. И еще не забывай, что есть 2 энтера: Qt::Key_Enter, Qt::Key_Return. В диалогах придется обходить проблему срабатывания кнопки Ok по энтеру. Удачи. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
potkin
  опции профиля:
сообщение 30.11.2010, 23:47
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

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




Репутация:   0  


maint, panter_dsd,
Ок, Спасибо !!!
Только, когда дохожу до батона (кнопки), по нажатию на Ентер она не срабатывает, а срабатывает на нажатие на "Пробел", а вот как сделать что бы и на Ентер срабатывал обработчик событий ???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
panter_dsd
  опции профиля:
сообщение 1.12.2010, 8:27
Сообщение #5


Жаждущий знаний
***

Группа: Участник
Сообщений: 254
Регистрация: 1.1.2009
Из: Санкт-Петербург
Пользователь №: 474

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




Репутация:   3  


Я делал срабатывание на Ctrl+Enter, это более логично. А так, можешь в фильтре сообщений проверять от кого оно пришло и, если это кнопка, делать accept диалогу.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 1.12.2010, 11:21
Сообщение #6


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

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

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




Репутация:   94  


Цитата(potkin @ 1.12.2010, 1:47) *
по нажатию на Ентер она не срабатывает
и правильно, а иначе как к другим элементам управления переходить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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




RSS Текстовая версия Сейчас: 29.3.2024, 0:06