subwindow in mdiArea geht nur im Constructor

Alles rund um die Programmierung mit Qt
Antworten
drewle
Beiträge: 38
Registriert: 4. März 2008 20:59
Kontaktdaten:

subwindow in mdiArea geht nur im Constructor

Beitrag von drewle »

Hallo,
ich will in einem MDI-Bereich ein Subwindow einfügen. Laut Hilfe sollte das so gehen, dass ich ein Widget anlege und mit addSubWindow ein Subwindow erzeuge, das dann angezeigt wird.
Das funktioniert auch prima, wenn ich im Constructor von meinem Mainwindow folgendes ausführe:

Code: Alles auswählen

widgetText *widgetDummy=new widgetText(ui->mdiArea);
ui->mdiArea->addSubWindow(widgetDummy,Qt::SubWindow);
Wenn ich das selbe aber in irgend einer anderen Funktion meines Mainwindows einfüge, wird kein Subwindow angezeigt.

Kann mir jemand weiter helfen?
Ich habe das "widgetText" mit dem Creator 1.2.1 (Qt 5.4.2) erzeugt.

Schon mal Danke,

Drewle.

Ps: Es funktioniert bei mir genauso wenig, wenn ich zuvor ein Subwindow erzeuge, das Widget einhänge und das ganze dann an add SubWindow übergebe. :(
Hic Rhodos Hic Salta
http://www.hic-net.de
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Bitte minmal kompilierbares Beispiel... es funktioniert prinzipiell überall - also liegt es an Deinem Code. Und aus dem Stückchen wird man nicht schlau.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
drewle
Beiträge: 38
Registriert: 4. März 2008 20:59
Kontaktdaten:

Beitrag von drewle »

Hallo Christian,
Danke für Deine Hilfe!
im Anhang findest Du mein Projekt. Es ist im Moment noch etwas unsortiert, Ich hoffe, Du kommst damit zurecht.

Ich will das Subwindow in der Funktion "on_treeProject_doubleClicked" (mainwindow.cpp) einhängen. Es funktioniert aber in keiner Funktion außer dem Konstruktor.

Drewle
Dateianhänge
mainwindow.zip
(29.64 KiB) 161-mal heruntergeladen
Hic Rhodos Hic Salta
http://www.hic-net.de
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Minimal und kompilierbar?

Für was einmal das WindowFlag und einmal nicht? Normalerweise gibt man dort nur Qt::WA_DeleteOnClose an oder nichts.

Häng mal ein show() dahinter.
drewle
Beiträge: 38
Registriert: 4. März 2008 20:59
Kontaktdaten:

Beitrag von drewle »

Hallo,
das show() hats gebracht!
Anscheinend wird das show beim Konstruktor automatisch aufgerufen.

Mit den Flags habe ich einfach mal rum gespielt und verschieden Varianten getestet. Ursprünglich war der Code in beiden Fällen gleich.

Vielen Dank für Deine Hilfe.

Drewle
Hic Rhodos Hic Salta
http://www.hic-net.de
Antworten