QLineEdit setText()

Alles rund um die Programmierung mit Qt
Antworten
pioneer_01
Beiträge: 4
Registriert: 26. Dezember 2010 13:07

QLineEdit setText()

Beitrag von pioneer_01 » 19. Dezember 2012 13:50

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

pioneer_01
Beiträge: 4
Registriert: 26. Dezember 2010 13:07

Re: QLineEdit setText()

Beitrag von pioneer_01 » 19. Dezember 2012 16:12

Seit dem ich jetzt auch den Wert der ProgressBar erhöhe funktioniert es. Vielleicht ist das ein Hinweiß.

franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Re: QLineEdit setText()

Beitrag von franzf » 19. Dezember 2012 17:14

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.

pioneer_01
Beiträge: 4
Registriert: 26. Dezember 2010 13:07

Re: QLineEdit setText()

Beitrag von pioneer_01 » 19. Dezember 2012 18:39

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

Antworten