Seite 1 von 1
[solved]Cursor soll automatisch in das nächste Feld springen
Verfasst: 9. September 2008 21:42
von cimbomgs
Hallo Forum,
wie auf dem Bild zu sehen ist, habe ich 3 Felder. Alle Felder sind auf bestimmte Anzahl von Zeichen / Characters begrenzt. Jetzt hätte ich gerne wenn zBsp. im 1. Feld die max Anzahl von Charakters eingetippt sind, der Cursor automatisch in das Feld 2 springt. Und hier genau so, sobald max. Anzahl eingetippt ist in das 3. Feld springen.
Wie und mit was kann ich das realisieren?
Vielen Dank
Verfasst: 9. September 2008 22:07
von -=Freaky=-
spontan wuerd ich sagen, cursor an den anfang d. feldes setzen und wenn der cursor an stelle x (nach letztem zeichen d. feldes) angelangt ist, an den anfang d. nexten feldes springen.
wie du das im detail anstellst, wird der assistant oder doc.trolltech.com dir sagen, denk ich.
obs nen sinnvolleren weg gibt, weiss ich auch nicht.
mfg,
julian
Verfasst: 9. September 2008 22:20
von cimbomgs
-=Freaky=- hat geschrieben:spontan wuerd ich sagen, cursor an den anfang d. feldes setzen und wenn der cursor an stelle x (nach letztem zeichen d. feldes) angelangt ist, an den anfang d. nexten feldes springen.
wie du das im detail anstellst, wird der assistant oder doc.trolltech.com dir sagen, denk ich.
obs nen sinnvolleren weg gibt, weiss ich auch nicht.
mfg,
julian
Du hast mein Problem nur in anderen Worten dargestellt

.. Das ist ja genau was ich machen möchte. Habe auch im Doc gesucht, aber auf keine Lösung gekommen.
wie gesagt, ich überprüfe die max. Anzahl der eingegebenen Charakters. Wenn z.Bsp. das 1. Feld max. 5 Zeichen haben darf, dann wird überprüft ob 5 Zeichen eingetippt sind. Wenn ja dann springe bitte in das 2. Feld. Beim 2. Feld sind max. 2 Zeichen erlaubt. Wenn 2 Zeichen eingetippt sind, dann soll auch hier der Cursor in das nächste Feld (in das 3. Feld) springen. Im 3.Feld braucht es keine Überprüfung. In dem Feld kann der Cursor stehen bleiben
Verfasst: 9. September 2008 22:24
von upsala
cursorPositionChanged()-Signal abfangen, wenn gewünschte Position erreicht => Focus auf das nächste Feld setzen
Verfasst: 9. September 2008 23:14
von Christian81
textChaned() reicht auch

Verfasst: 10. September 2008 10:05
von cimbomgs
ich verstehe nicht wie ich
Code: Alles auswählen
QFocusEvent ( Type type, Qt::FocusReason reason = Qt::OtherFocusReason )
einsetzen kann.
Positionsabfrage des Cursors funktioniert, aber dann will ich durch eine IF-Abfrage in das nächste Feld springt. Ich verstehe aber nicht wie ich QFocusEvent einsetzen kann.
dachte das vielleicht so auch klappt (naja war ja nur ein Gedanke)
Code: Alles auswählen
if( ui.lineEdit_links->cursorPosition() == 5 )
{
ui.lineEdit_links->setCursorPosition(ui.lineEdit_mitte->setCursorPosition(0));
}
Verfasst: 10. September 2008 10:22
von cimbomgs
cimbomgs hat geschrieben:ich verstehe nicht wie ich
Code: Alles auswählen
QFocusEvent ( Type type, Qt::FocusReason reason = Qt::OtherFocusReason )
einsetzen kann.
Positionsabfrage des Cursors funktioniert, aber dann will ich durch eine IF-Abfrage in das nächste Feld springt. Ich verstehe aber nicht wie ich QFocusEvent einsetzen kann.
dachte das vielleicht so auch klappt (naja war ja nur ein Gedanke)
Code: Alles auswählen
if( ui.lineEdit_links->cursorPosition() == 5 )
{
ui.lineEdit_mitte->setCursorPosition(0);
}
Verfasst: 10. September 2008 12:21
von upsala
Focus auf das nächste Feld setzen
Das steht nichts von Cursor oder? Da steht noch kürzer gesagt 'Focus setzen' als setFocus()
Verfasst: 10. September 2008 14:20
von cimbomgs
super vielen Dank, genau so musste es sein
Code: Alles auswählen
if( ui.lineEdit_links->cursorPosition() == 5 )
{
ui.lineEdit_mitte->setFocus();
}
dankeschööööööööööön
