Seite 1 von 1

[gelöst ]Widgets mit Enter weiterschalten

Verfasst: 5. Mai 2006 14:27
von BartSimpson
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:

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);
	}

Ich habe im Widget keyReleaseEvent(QKeyEvent *event) überschrieben

es muss focusNextPrevChild(true); statt nextInFocusChain()->setFocus(Qt::TabFocusReason);
heissen.