Seite 1 von 1

QProgressDialog global ?

Verfasst: 1. August 2006 21:54
von Mati
Hallo,

ich habe mehrere Funktionen die alle am QProgressDialog beteiligt sein sollten.

Leider weiß ich nicht wie ich den dialog über mehrere Funktionen hinweg am leben halten soll...
eigentlich muss ich ja den dialog global halten. Damit muss ich doch aber einen Pointer auf dem Heap alloziieren oder? Also mir bleibt nichts anderes übrig als:
im header:

Code: Alles auswählen

QProgressDialog *progress;
und im cpp:

Code: Alles auswählen

//dies geschieht in der ersten funktion damit der pointer
//global bleibt ???
progress = new QProgressDialog(...);
Ja und jetzt einfach in den anderen Funktionen nur über

Code: Alles auswählen

progress->setValue(...) 
den neuen wert setzen???

Das Problem ist das zerstören des Dialogs nach Ablauf. Da es ja ein Heap-Pointer ist und an das Parent gebunden ist - dieses aber Existent bleibt muss ich doch zwangsläufig nach dem fertigen Ablauf ein

Code: Alles auswählen

delete progress; 
aufrufen?

Kann mir jemand helfen und mich an die Wand klatschen wenn ich völlig falsch rangehe?

Danke

Verfasst: 30. August 2006 09:28
von Delryn
Kein schönes Design, aber ja so geht es. Faustregel:

Zu jedem new ein delete, zu jedem new[] ein delete[].