Hi guys,
Been trying a various alternatives but can’t manage to get things working. What I am trying to do is add a Menu Bar to my window using Qt (Python). I have attached an example of my code below. Any tips / advise would be greatly appreciated. Thanks in advance.
# =============================== # I M P O R T M O D U L U E S # =============================== import maya.OpenMayaUI as omui # for Maya 2018+... try: from PySide2.QtCore import * from PySide2.QtGui import * from PySide2.QtWidgets import * from PySide2 import __version__ from shiboken2 import wrapInstance # for older versions of Maya... except ImportError: from PySide.QtCore import * from PySide.QtGui import * from PySide import __version__ from shiboken import wrapInstance # ========== # C L A S S # ========== class Test_UI(QWidget): def __init__(self, *args, **kwargs): super(Test_UI, self).__init__(*args, **kwargs) self.setParent(self.GetMainWindow()) self.setWindowFlags(Qt.Window) self.setObjectName('Test_UI_uniqueId') self.setWindowTitle('Test User Interface') self.setGeometry(50, 50, 280, 150) self.initUI() def GetMainWindow(self): ptr = omui.MQtUtil.mainWindow() mainWindow = wrapInstance(long(ptr), QWidget) return mainWindow def initUI(self): self.layout = QGridLayout() self.setLayout(self.layout) self.menuBar = QMenuBar() self.menu = QMenu() self.menuBar.addMenu(self.menu) self.text = QLabel() self.text.setText("Test Window") self.text.setAlignment(Qt.AlignCenter) self.layout.addWidget(self.menuBar, 0, 0, 1, 1) self.layout.addWidget(self.text, 0, 0, 1, 1) if __name__ == "__main__": Test_UI(Test_UI().GetMainWindow()).show() # show UI