Reputation: 1849
I'm trying to find a way to insert QMenuBar
under QTabWidget
. Could not find any solution, tried to get QMenuBar
intilization from generated .ui
file of QMainWindow
but no luck
self.menubar = QtGui.QMenuBar(self.myTab)
self.menubar.setGeometry(QtCore.QRect(0, 0, 700, 21))
self.menubar.setObjectName(_fromUtf8("menubar"))
self.menuOptions = QtGui.QMenu(self.menubar)
self.menuOptions.setObjectName(_fromUtf8("menuOptions"))
self.myTab.setMenuBar(self.menubar)
I need it to be like this because my app will have custom option sections for each tab view
Upvotes: 2
Views: 1616
Reputation: 1849
Guys on the official QT Forum helped me...
The solution is that you can add QMenuBar
to TAB's layout (You cannot do this from QT Designer)
self.menuBar = QtGui.QMenuBar()
self.menuOptions = QtGui.QMenu("Options", self.menuBar)
self.actionQuit = QtGui.QAction('Quit', self)
self.actionQuit.triggered.connect(self.close)
self.menuOptions.addAction(self.actionQuit)
self.menuBar.addAction(self.menuOptions.menuAction())
#WARN! TAB widget must have a layout!
self.ui.UDETabs.widget(0).layout().setMenuBar(self.menuBar)
Upvotes: 1
Reputation: 807
QMenuBar is just a widget. You can put it everywhere.
Why you get your menubar from .ui, instead of creating your own?
Also remember, that it will work only on Windows. On MacOs and Linux with DE that support global menu it will not work as you want.
Upvotes: 1