Seite 1 von 1

Anordnung SubWindows in QMdiArea

Verfasst: 7. Dezember 2010 17:05
von hel800
Hallo,

ich habe eine QMdiArea der ich nach und nach SubWindows zuweise. Diese werden auch angezeigt und mithilfe der Funktion tileSubWindows() über die gesamte Fläche gekachelt.

Ich möchte nun, dass stehts die gleiche Reihenfolge beim tiling der Fenster eingehalten wird. Im Beispiel von zwei Fenstern möchte ich Fenster 1 immer links dargestellt haben, Fenster 2 immer rechts. Allerdings wird das aktuell aktive Fenster zuerst, sprich links angezeigt, nach einem tileSubWindows() Aufruf.

Die Funktion setActivationOrder( WindowOrder order ) sollte diese Reihenfolge eigentlich festlegen. Ich stelle order auf QMdiArea::StackingOrder, dies hat jedoch keine Auswirkung, die Reihenfolge hängt weiterhin von der Activation Reihenfolge ab.

Ich verwende das aktuelle Qt SDK für Windows mit Qt 4.7.0, QtCreator und MinGW Umgebung.

Hat jemand eine Idee, woran das liegen könnte, oder einen alternativen Lösungsvorschlag? Bin für jeden Hinweis dankbar.

Re: Anordnung SubWindows in QMdiArea

Verfasst: 21. Dezember 2010 23:06
von koppi
Hallo hel800, hast Du inzwischen eine Lösung gefunden. Würde mich interessieren, wie Du die Sortierungsreihenfolge hinbekommen hast..

Verfasst: 21. Dezember 2010 23:28
von hel800
Nein, leider noch nicht, habe das issue geschoben :-/. Falls du irgendwelche Ideen hast, würde ich mich freuen. Ich möchte auch ungern eine komplett neue Tiling-Funktion schreiben. Sondern einfach die vorhandene nutzen. Das muss doch möglich sein irgendwie? :x

Verfasst: 22. Dezember 2010 09:30
von franzf
Bei mir funktioniert die voreingestellte Order wunderbar. egal welches aktiv ist, links steht immer das zuletzt hinzugefügte.

Code: Alles auswählen

mdiArea->addSubWindow(l2);
mdiArea->addSubWindow(l1);
mdiArea->tileSubWindows(); // zeigt 1 nun immer links, l2 immer rechts.
Qt-4.7.1 unter Gentoo Linux.