QDockWidget an ein Tab andocken

Alles rund um die Programmierung mit Qt
Antworten
Schnuki
Beiträge: 7
Registriert: 26. Oktober 2009 08:36

QDockWidget an ein Tab andocken

Beitrag von Schnuki »

Hallo zusammen,

ich hab folgendes Problem:

Ich habe auf meinem MainWindow eine TabWidget, das die eigenschaften eines DockWidgets hat. Das klappt ganz gut, jedoch erstelle ich zur Laufzeit mehrere Tabs und auf diesen Tabs wieder neue DockWidgets. Die sind zwar angedockt und lassen sich auch abdocken, doch ich kann sie an das Tab nicht mehr andocken. und beim doppelklick verschwindet das tab einfach.

Weißt jemand eine lösung dafür?
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Hast Du die Eigenschaften für die DockWidgets auch richtig gesetzt?
Was ist mit den zur Laufzeit erstellten?

DockWidgetMovable() ....
allowedAreas()

Wie hast Du denn das erste TabWidget und sein Dockwidget erstellt mit Designer oder auch beim Start des Programmes?
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
Schnuki
Beiträge: 7
Registriert: 26. Oktober 2009 08:36

Beitrag von Schnuki »

Hallo,

das TabWidget habe ich als DockWidget im Designer erstellt und die zur Laufzeit erstellten DockWidgets, möchte ich auf dem Tab platzieren. Jedoch kann ich zum Tab selbst kein DockWidget hinzufügen, da das TabWidget die Eigenschaft nicht hat.

Die Funktionen
DockWidgetMovable() und allowedAreas() habe ich schon ausprobiert, jedoch kann ich das Fenster (also mein DockWidget) trotzdem nicht ans Tab wieder andocken!
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

Habe ich das richtig verstanden?

Die DockWidgets setzt du dem TabWidegt mit AddTab zu oder?
Wenn Du dann ein solches vom Tab raus nimmst bekommst Du es nicht mehr in den Tab?
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Wie wäre es mal mit einem minimal reproduzierbaren Beispiel?
Schnuki
Beiträge: 7
Registriert: 26. Oktober 2009 08:36

Beitrag von Schnuki »

24dan hat geschrieben:Habe ich das richtig verstanden?

Die DockWidgets setzt du dem TabWidegt mit AddTab zu oder?
Wenn Du dann ein solches vom Tab raus nimmst bekommst Du es nicht mehr in den Tab?
Nein nicht direkt so:

Mein TabWidget ist ein DockWidget, das ich in mein Main Window hinzugefügt habe. Mit AddTab füge ich mehrere Tabs hinzu. Die Tabs sind aber ganz normale Widgets (muss auch nicht mehr sein). Jetzt füge ich QDockWidgets auf meinem Tab hinzu. Die docken an, funktioniert alles wunderbar, aber sobald ich sie abdocke kann ich sie auf den Tab nicht mehr andocken! Und beim Doppelklick verschwindet das DockWidgeht.
24dan
Beiträge: 274
Registriert: 26. Juni 2006 14:15
Wohnort: Hamburg

Beitrag von 24dan »

so wie sich das liest:

Workaround:

baue einen button ins Dockwidget der an Hauptprogramm mit emit sendet das der gedrückt wurde und lass dann diese Dockwidget programmatisch eindocken. zB. am Ende der TabList. :roll:
"Der erste Trunk aus dem Becher der Naturwissenschaften macht atheistisch, aber auf dem Grund des Bechers wartet Gott."
(W. Heisenberg)
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Du kennst aber schon den hier...

Code: Alles auswählen

QMainWindow::AllowTabbedDock
Denn deine Beschreibung liest sich so als wolltest du irgendwie ein eigenes TabWidget für die DockWidgets verwenden.
Antworten