nachdem ich mit C++ lediglich für HPCs und damit Konsolenprogramme programmiert habe, möchte ich nun anfangen auch für meinen Desktop zuhause Anwendungen zu schreiben. Also mache ich mich gerade fit in Qt.
Eine Verwirrung, auf die ich gestoßen bin:
Ich habe ein QLineEdit ("HourEd") verbunden mit einem QIntValidator, sodass nur Ganzzahlen akzeptiert werden. Diese Verbindung schaffe ich im Konstruktor des Hauptfensters:
Code: Alles auswählen
QIntValidator *intvalidator = new QIntValidator(this);
ui->HourEd->setValidator(intvalidator);Wie prüfe ich nun diese Gültigkeit?
Ich suche nach einer art "HourEd->validator()->Status == QValidator::Acceptable"
Hier erstmal der Code, wie ich ihn momentan im textChanged-Event von HourEd habe:
Code: Alles auswählen
void MainWindow::on_HourEd_textChanged(QString )
{
QString str = ui->HourEd->text();
int dummyint;
if (ui->HourEd->validator()->validate(str, dummyint) == QValidator::Acceptable)
{
/* Hier anderen Wert aktualisieren */
}
}Vielleicht kann mich ja jemand aufklären
MfG
Spinoza
PS Die Möglichkeit mit der SpinBox ist mir bekannt, aber ich will ja Qt bzw. hier den Umgang mit QValidator lernen