QProgressBar

Alles rund um die Programmierung mit Qt
Antworten
sirair
Beiträge: 4
Registriert: 19. Juni 2013 11:37

QProgressBar

Beitrag von sirair »

Hi,

ich habe eine langwigrige Operation. Deshalb verwende ich dafür QProgressBar, um den Status anzuzeigen.
Allerdings habe ich das Problem, dass QProgressBar erst startet nachdem die Operation vorbei ist, obwohl ich einen separaten Thread dafür verwende.

Code: Alles auswählen

//Klasse MainWindow

void fetchData(){
QProgressBarThread* thread = new QProgressBarThread();
thread->start();

....
//Operation zum Holen von Daten aus DB

}

//Klasse QProgressBarThread

QProgressBarThread(){
progressBar = new QProgressBar();
progressBar->setMinimum(0);
progressBar->setMaximum(0);
}

run(){
progressBar->show();
}
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: QProgressBar

Beitrag von hilefoks »

Moin,

wie ist dein Code zu interpretieren. Wenn ich es richtig verstehe, läuft fetchData im Haupt-Thread. Erzeugst du die ProgressBar etwa in einem eigenen Thread?

MfG,

Hilefoks
sirair
Beiträge: 4
Registriert: 19. Juni 2013 11:37

Re: QProgressBar

Beitrag von sirair »

Ja fetchData läuft im Hauptthread.
Die ProgressBar erzeuge ich in einem eigenen Thread und starte sie bevor eigentlich die lange Operation beginnt.
hilefoks
Beiträge: 144
Registriert: 13. März 2008 16:09

Re: QProgressBar

Beitrag von hilefoks »

Sorry - das ist genau falsch herum.
GUI-Code muss immer im Hauptthread laufen und deine eigentliche Arbeit solltest du dann in einem gesonderten Thread erledigen.
Antworten