По умолчанию перемещение между Виджетами происходит при нажатии на клавишу "Таб", а вот как сменить эту клавишу на "Ентер" ???
может кто сталкивался, а то проблемка распространённая, кто писал складские программы, поймут )))
что то вроде
void имя_головного_виджета::keyPressEvent(QKeyEvent *event)
{
if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) {
focusNextChild();
return;
}
QWidget::keyPressEvent(event);
installEventFilter. И еще не забывай, что есть 2 энтера: Qt::Key_Enter, Qt::Key_Return. В диалогах придется обходить проблему срабатывания кнопки Ok по энтеру. Удачи.
maint, panter_dsd,
Ок, Спасибо !!!
Только, когда дохожу до батона (кнопки), по нажатию на Ентер она не срабатывает, а срабатывает на нажатие на "Пробел", а вот как сделать что бы и на Ентер срабатывал обработчик событий ???
Я делал срабатывание на Ctrl+Enter, это более логично. А так, можешь в фильтре сообщений проверять от кого оно пришло и, если это кнопка, делать accept диалогу.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)