Skip to content

Instantly share code, notes, and snippets.

@justinfx
Created November 21, 2011 03:01
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
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