PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Qt] Hauptprogramm solange warten bis ein Dialog geschlossen wurde



Cypher
04-06-2006, 18:19
hi,
wie kann ich in Qt ein Fenster implementieren, auf das das Hauptprogramm "wartet"?
Also das Hauptprogramm soll solange warten bis dieses Fenster wieder geschlossen wurde, wie z.B. bei QMessageBox.
Es soll eine Klasse werden, die eine Datei downloaded und den Fortschritt anzeigt. Verwenden will ich sie dann in etwa so:


DownloadWindow *dw = new DownloadWindow;
dw->download("http://example.com", "localfile.data");
delete dw;

allerdings soll das Objekt natürlich erst wieder zerstört werden wenn es seine aufgabe erfüllt hat.
Mein ansatz war eine leere Warteschleife, die solange nichts tut bis DownloadWindow einen bestimmten Wert setzt, aber auf die Art stürzt nur das Programm ab...

mfg, cypher

anda_skoa
05-06-2006, 15:02
Das tut ein modaler Dialog.

In etwa so



MyDialog dialog(this);
dialog.exec()


Das QDialog::exec() kehrt erst zurück, wenn accept() oder reject() des Dialogs aufgerufen wurden.

In deinem Fall könntest du überlegen, von QProgressDialog abzuleiten

Ciao,
_