Seite 1 von 1

Fenster bei Bedarf nur einmal öffnen

Verfasst: 14. Dezember 2009 14:10
von toem
Hallo,

ich definiere in meiner .h via

Code: Alles auswählen

ShowDocument *sd;
ein leeres Gerüst und fülle das später via

Code: Alles auswählen

sd = new ShowDocument();
sd->show();
Frage hierzu. Ich möchte für einige Dokumente immer ein neues Fenster öffnen, für andere den Inhalt aktualisieren. (kein MDI)

Wie kann ich ggf. abfragen, ob sd schon geöffnet ist und angezeigt wird?
Bislang stosse ich immer nur auf Debugger Fehler.

Ein einfaches

Code: Alles auswählen

if (!sd)
funktioniert ja leider nicht.

Verfasst: 14. Dezember 2009 14:12
von AuE
kommt auf deine Einstellungen an. Bei Qt_WA_deleteOnclose sollte es nach dem schließen keinen gültigen Ptr mehr geben.

Ansonsten checken via isHidden?

Verfasst: 14. Dezember 2009 14:13
von phlox81
Ein !sd funktioniert schon, wenn du den Zeiger vorher (im Konstruktor z.b.) auf 0 setzt.

Verfasst: 14. Dezember 2009 14:13
von archer
Warum soll letzteres nicht gehen?

Kleiner Tip: sd im Konstruktor mit NULL initialisieren.

Verfasst: 14. Dezember 2009 14:16
von AuE
Es geht ihm glaube ich nicht ums erste mal aufrufen sondern wenn man das Wdg mehrfach aufruft....da wird der Ctor nicht mehr durchlaufen!

Verfasst: 14. Dezember 2009 14:24
von toem
Danke, war ja echt blöde von mir.
Geht jetzt alles.