QLabel setText zeigt Text nicht unmittelbar vor dem Ausführen einer anderen Methode an

8

Ich habe ein einfaches Etikett, das dem Benutzer anzeigen soll, dass das Programm mehrere Sekunden lang Verzeichnisse durchsucht. So geht es wie ...

%Vor%

Mein Problem ist, dass das Etikett niemals "Suchen ..." anzeigt. Die Ausführung scheint immer geradeaus zu laufen, um die Methode zum Durchsuchen von Verzeichnissen auszuführen, und dann wird der Beschriftungstext auf "Suche abgeschlossen" eingestellt, nachdem die Methode zum Durchsuchen der Verzeichnisse beendet wurde.

Ich wäre dankbar, wenn jemand erklären könnte, warum dies geschieht oder einen besseren Weg zur Lösung des Problems vorschlägt.

vielen Dank

    
Kim 22.12.2010, 15:32
quelle

2 Antworten

16

Ihre "Methode zum Durchsuchen von Verzeichnissen" blockiert die GUI, daher kann QLabel den Text nicht aktualisieren. Sie können Ihre Suchroutine asynchron machen oder den einfachen Weg gehen und QLabel zwingen, sich selbst zu aktualisieren:

%Vor%     
ismail 22.12.2010, 16:30
quelle
0

Fügen Sie Folgendes hinzu:

%Vor%

Lassen Qt Ereignisse verarbeiten:

%Vor%

Hinweis: repaint () war nicht notwendig.

    
Sebastian Ax 20.01.2017 09:37
quelle

Tags und Links