[gelöst ]Widgets mit Enter weiterschalten
Verfasst: 5. Mai 2006 14:27
Normalerweise kommt ja innerhalb eindes QWidgets zum nächsten mittels Tab. In einem speziellen Fall möchte ich aber mit Enter oder Tab zu nächten gehen. Mein Widget besitzte 4 QSpinboxen.
Mit Tab werden alle nacheinaber abgearbeitet.
Wenn ich jetzt in 1-3 Enter drücke lande ich immer im letzen:(
Wann muss ich ändern?
Hier der Code:
Ich habe im Widget keyReleaseEvent(QKeyEvent *event) überschrieben
es muss focusNextPrevChild(true); statt nextInFocusChain()->setFocus(Qt::TabFocusReason);
heissen.
Mit Tab werden alle nacheinaber abgearbeitet.
Wenn ich jetzt in 1-3 Enter drücke lande ich immer im letzen:(
Wann muss ich ändern?
Hier der Code:
Code: Alles auswählen
f(event->key()== Qt::Key_Enter || event->key()== Qt::Key_Return)
{
#ifndef QT_NO_DEBUG
qDebug("Enter wurde gedrückt");
#endif
event->accept();
if(!ui.IP4_4->hasFocus())
nextInFocusChain()->setFocus(Qt::TabFocusReason);
}
else
{
#ifndef QT_NO_DEBUG
qDebug("Enter wurde nicht gedrückt");
#endif
//Weiterleiten
QWidget::keyReleaseEvent(event);
}
es muss focusNextPrevChild(true); statt nextInFocusChain()->setFocus(Qt::TabFocusReason);
heissen.