По умолчанию перемещение между Виджетами происходит при нажатии на клавишу "Таб", а вот как сменить эту клавишу на "Ентер" ???
может кто сталкивался, а то проблемка распространённая, кто писал складские программы, поймут )))
что то вроде
void имя_головного_виджета::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
focusNextChild();
return;
}
QWidget::keyPressEvent(event);
panter_dsd
27.11.2010, 11:00
installEventFilter. И еще не забывай, что есть 2 энтера: Qt::Key_Enter, Qt::Key_Return. В диалогах придется обходить проблему срабатывания кнопки Ok по энтеру. Удачи.
maint, panter_dsd,
Ок, Спасибо !!!
Только, когда дохожу до батона (кнопки), по нажатию на Ентер она не срабатывает, а срабатывает на нажатие на "Пробел", а вот как сделать что бы и на Ентер срабатывал обработчик событий ???
panter_dsd
1.12.2010, 8:27
Я делал срабатывание на Ctrl+Enter, это более логично. А так, можешь в фильтре сообщений проверять от кого оно пришло и, если это кнопка, делать accept диалогу.
Litkevich Yuriy
1.12.2010, 11:21
Цитата(potkin @ 1.12.2010, 1:47)
по нажатию на Ентер она не срабатывает
и правильно, а иначе как к другим элементам управления переходить.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.