Seite 1 von 1

Menüs, Toolbars, usw. in einem Widget verwenden ?

Verfasst: 11. April 2009 13:06
von Matthias_
Gibt es in Qt irgendeine Möglichkeit, Menüs oder Toolbars einem Widget hinzuzufügen, so wie es bei QMainWindow möglich ist ?

Mein problem ist: Ich möchte in meiner Anwendung, verschiedene Dockpanels haben, und diese sollen auch eigentständige Menüs erhalten.

Ist so etwas mit Qt realisierbar ?

Danke schonmal für (eventuelle) Antworten.

Matthias

Verfasst: 11. April 2009 13:40
von upsala
Warum verwendest du dann kein QMainWindow?

Verfasst: 11. April 2009 13:51
von franzf
Neben dem, dass QMainWindow auch nur ein QWidget ist, und du beliebig davon in Layouts usw. stecken kannst, darfst du selber auch experimentieren.

SO kommst du darauf, dass es eine Klasse "QMenuBar" gibt, welche auch von QWidget erbt. QWidget kann man in Layouts packen. Verwende einfach ein QVBoxLayout als MainLayout, und packe ganz oben deine MenuBar rein.
Nur noch aufpassen, dass die MenuBar im Layout nen StretchFactor von 0 hat, alle anderen einen >0, dann ist doch alles klar...

Grüße
Franz

Verfasst: 11. April 2009 15:19
von Matthias_
Danke für die schnelle Antwort.

Ich bin neu in Qt, drumm bin ich selber da nicht sofort drauf gekommen.

Verfasst: 14. April 2009 07:55
von Troll.Soft
franzf hat geschrieben: Verwende einfach ein QVBoxLayout als MainLayout, und packe ganz oben deine MenuBar rein.
Verwende nachfolgendes und es ist noch einfacher
Qt Doku hat geschrieben:
void QLayout::setMenuBar ( QWidget * widget )
Tells the geometry manager to place the menu bar widget at the top of parentWidget(), outside QWidget::contentsMargins(). All child widgets are placed below the bottom edge of the menu bar.
tschüß
der TrollSoft