在 QTabWidget 选项卡下创建一个 QMenubar
Create a QMenubar under QTabWidget tabs
我正在尝试找到一种方法将 QMenuBar
插入到 QTabWidget
下。找不到任何解决方案,尝试从 QMainWindow
生成的 .ui
文件中获取 QMenuBar
intilization,但没有成功
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)
我需要它是这样的,因为我的应用程序将为每个选项卡视图提供自定义选项部分
QMenuBar 只是一个小部件。你可以把它放在任何地方。
为什么要从 .ui 获取菜单栏,而不是自己创建?
另请记住,它仅适用于 Windows。在支持全局菜单的 MacO 和 Linux DE 上,它将无法正常工作。
官方QT论坛上的朋友帮了我...
解决方案是您可以将 QMenuBar
添加到 TAB 的布局中(您不能从 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)
我正在尝试找到一种方法将 QMenuBar
插入到 QTabWidget
下。找不到任何解决方案,尝试从 QMainWindow
生成的 .ui
文件中获取 QMenuBar
intilization,但没有成功
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)
我需要它是这样的,因为我的应用程序将为每个选项卡视图提供自定义选项部分
QMenuBar 只是一个小部件。你可以把它放在任何地方。
为什么要从 .ui 获取菜单栏,而不是自己创建?
另请记住,它仅适用于 Windows。在支持全局菜单的 MacO 和 Linux DE 上,它将无法正常工作。
官方QT论坛上的朋友帮了我...
解决方案是您可以将 QMenuBar
添加到 TAB 的布局中(您不能从 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)