2010-12-28 10 views
7

Ich möchte eine Anwendung in Qt machen, wo die Registerkarten in der QTabBar "abgedockt" werden können, so dass sie zu einem schwebenden Fenster werden oder in eine andere QTabBar gezogen und in diese QTabBar "übertragen" werden können. Mein Ziel ist es, den Benutzer die Oberfläche vollständig anpassen zu lassen, indem die Module ineinander geschoben werden.Machen Sie Tabs in Qt bewegbar

Wenn Sie jemals Adobe After Effects CS5 verwendet haben, hat es genau den Effekt, den ich suche. Es erlaubt Ihnen, einen Tab zu ziehen und ihn als eigenes Fenster freizugeben, an eine andere Registerkarte anzudocken und vieles mehr zu tun.

Also, wenn mir jemand in die richtige Richtung zeigen könnte, wie das geht, oder wo ich anfangen würde, wäre das großartig!

Antwort

10

Werfen Sie einen Blick auf die Qt Main Window Demo verwendet QDockWidget anstelle von QTabBar. In diesem Beispiel sollte der Ordner QTDIR/demos/Ihrer Qt-Installation enthalten sein.

Sie werden sehen, dass es keine Registerkarten im Fenster gibt, aber versuchen Sie, ein Dock zu ziehen und es über ein anderes Dock zu legen, und Sie werden sehen, dass eine Tableiste erstellt wird. Auch die Docks können um den Desktop herum schweben. Dieses Verhalten wird von Qt bereitgestellt und es kann aktiviert oder deaktiviert werden, indem nur einige Flags für die Docks festgelegt werden. Überprüfen Sie den Code für weitere Details.

Ich hoffe, dass das war, was Sie gesucht haben.

+0

Das sieht wirklich schlecht aus, wenn Sie nicht Ihre Tabs am unteren Rand haben, was eine Schande ist :( – paulm