Seite 1 von 1

QLineEdit setText()

Verfasst: 19. Dezember 2012 12:50
von pioneer_01
Hallo,

Ich möchte den Text eines QLineEdit Objektes ändern, bevor ich eine File parse. Der Text erscheint im QLineEdit allerdings erst nachdem das File geparst ist.

Code: Alles auswählen

ui->lineEdit_status->setText("parsing file...");
Parser parser;
parser.startParsing();
Ich ẃäre über jede Hilfe sehr dankbar.

mfg
Martin

Re: QLineEdit setText()

Verfasst: 19. Dezember 2012 15:12
von pioneer_01
Seit dem ich jetzt auch den Wert der ProgressBar erhöhe funktioniert es. Vielleicht ist das ein Hinweiß.

Re: QLineEdit setText()

Verfasst: 19. Dezember 2012 16:14
von franzf
Das setzen der ProgressBar hat wohl als Nebeneffekt, dass gleich die EventQueue abgearbeitet wird.
QLineEdit::setText() ruft intern nur update() auf, was in die Queue gelegt wird und erst in der nächsten Runder der eventLoop abgearbeitet wird. (Doku->QWidget::update())
Um das update gleich zu bekommen, kannst einmal nach dem setText QApplication::processEvents() aufrufen.

Re: QLineEdit setText()

Verfasst: 19. Dezember 2012 17:39
von pioneer_01
Herzlichen Dank für deine Antwort.
Ich habe mittlerweile nachgeschaut was die ProgressBar so macht und habe darin repaint() gefunden.
Nachdem ich es nun nach dem setText auch mache, hats funktioniert.

Danke nochmals
lg
Martin