QlineEdit - Tabindex bei Fehler beibehalten

Alles rund um die Programmierung mit Qt
Antworten
KuhTee
Beiträge: 30
Registriert: 3. November 2012 09:17

QlineEdit - Tabindex bei Fehler beibehalten

Beitrag 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);
   }
}
Doc_symbiosis
Beiträge: 32
Registriert: 19. Juni 2008 23:10

Re: QlineEdit - Tabindex bei Fehler beibehalten

Beitrag von Doc_symbiosis »

Was meinst Du denn mit dem nächsten Feld? Beim QLineEdit gibt's ja nur ein Feld...
MichaelS
Beiträge: 240
Registriert: 27. Dezember 2005 12:49

Re: QlineEdit - Tabindex bei Fehler beibehalten

Beitrag 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
Antworten