Seite 1 von 1

QlineEdit - Tabindex bei Fehler beibehalten

Verfasst: 9. Dezember 2012 17:08
von KuhTee
Hallo,
wieder ein paar Schritte erfolgreich programmiert. Aber jetzt komme ich nicht weiter.

Ich habe eine eigene Klasse von QLineEdit abgeleitet.

Bei verlassen des Eingabefeldes sollen z.B. die Zahlenschranken überprüft werden.
Die Überprüfung funktioniert.

Wie kann ich im Fehlerfall verhindern, dass die Eingabe zum nächsten Feld springt ?

Grüße
KuhTee

Code: Alles auswählen

Hinput::Hinput(QWidget *parent) : QLineEdit(parent)
{
    connect(this,SIGNAL(editingFinished()),this,SLOT(on_lineEdit_editingFinished()));
}

void Hinput::on_lineEdit_editingFinished()
{
    double wert = text().toDouble();
    QString mess = QString("%1").arg(wert,8,'F',3);
    qDebug() << mess;
    setText(mess);
    qDebug() << min << "  " << max << "  " << wert;
    if( wert < min || wert > max) {
         QMessageBox::warning(this,"Fehler",infotext);
   }
}

Re: QlineEdit - Tabindex bei Fehler beibehalten

Verfasst: 8. April 2013 01:13
von Doc_symbiosis
Was meinst Du denn mit dem nächsten Feld? Beim QLineEdit gibt's ja nur ein Feld...

Re: QlineEdit - Tabindex bei Fehler beibehalten

Verfasst: 8. April 2013 17:07
von MichaelS
Moin,

schon mal folgendes versucht?

Code: Alles auswählen

 if( wert < min || wert > max) {
         QMessageBox::warning(this,"Fehler",infotext);
         lineEdit->setFocus();
   }
Damit bekommt das Feld im Falle eines Fehlers wieder den Focus.

Gruß Michael