Skip to content

Instantly share code, notes, and snippets.

@justinfx
Created November 21, 2011 03:01
Show Gist options
  • Save justinfx/1381488 to your computer and use it in GitHub Desktop.
Save justinfx/1381488 to your computer and use it in GitHub Desktop.
Mixing PyQt4 and Maya UI objects
from PyQt4 import QtCore, QtGui
import maya.cmds as cmds
import maya.OpenMayaUI as mui
import sip
global app
class MyDialog(QtGui.QDialog):
def __init__(self, parent=None):
super(MyDialog, self).__init__(parent=parent)
self.setObjectName("MyWindow")
self.resize(800, 600)
self.setWindowTitle("PyQt ModelPanel Test")
self.verticalLayout = QtGui.QVBoxLayout(self)
self.verticalLayout.setObjectName("mainLayout")
layout = mui.MQtUtil.fullName(long(sip.unwrapinstance(self.verticalLayout)))
cmds.setParent(layout)
self._cameraName = cmds.camera()[0]
nodeName = cmds.modelPanel(cam=self._cameraName)
ptr = mui.MQtUtil.findControl(nodeName)
self.modelPanel = sip.wrapinstance(long(ptr), QtCore.QObject)
self.verticalLayout.addWidget(self.modelPanel)
def show(self):
super(MyDialog, self).show()
self.modelPanel.repaint()
def show():
global app
app = QtGui.QApplication.instance()
ptr = mui.MQtUtil.mainWindow()
win = sip.wrapinstance(long(ptr), QtCore.QObject)
d = MyDialog(parent=win)
d.show()
return d
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment