Last active
December 21, 2017 23:51
-
-
Save marvolo3d/b482a679c6b36a763f75b1b06087e81d to your computer and use it in GitHub Desktop.
WIP template maya pyside dockable
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from Qt import QtWidgets, QtGui | |
import maya.OpenMayaUI as omui | |
# from maya.app.general.mayaMixin import MayaQWidgetDockableMixin | |
import maya.app.general.mayaMixin as mx | |
import shiboken2 | |
# class MyQWidget(mx.MayaQDockWidget, QtWidgets.QWidget): | |
class MyQWidget(mx.MayaQWidgetDockableMixin, QtWidgets.QWidget): | |
def __init__(self, parent=None): | |
super(MyQWidget, self).__init__(parent=parent) | |
# self.setSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Preferred ) | |
mainLayout = QtWidgets.QVBoxLayout() | |
self.setLayout(mainLayout) | |
mainLayout.addWidget(QtWidgets.QLabel('wow nice label!')) | |
btn = QtWidgets.QPushButton('cool button!') | |
btn2 = QtWidgets.QPushButton('not cool button!') | |
btn.setMinimumHeight(100) | |
mainLayout.addWidget(btn) | |
mainLayout.addWidget(btn2) | |
self.setWindowTitle('dockem duck') | |
# self.setDockableParameters(retain=False, floating=False) | |
self.show(dockable=True, floating=False, retain=False) | |
# self.show() | |
def dockCloseEventTriggered(self): | |
print 'yabadaba' | |
def floatingChanged(self, isFloating): | |
print 'float the boat: {0}'.format(isFloating) | |
# def initWidget(): | |
# control_pointer = omui.MQtUtil.findControl('color!') #find workspace control | |
# widgetParent = shiboken2.wrapInstance(long(control_pointer), QtWidgets.QWidget) | |
# #MQtUtil.addWidgetToMayaLayout ??? | |
# myWidget = MyQWidget(parent = widgetParent) | |
# print myWidget.showRepr() # print some stats? | |
# if cmds.workspaceControl("color!", q=1, ex=1): | |
# cmds.deleteUI('color!') | |
# #or | |
# # cmds.workspaceControl('color!', e=1, restore=1) | |
# # print 'show existing' | |
# # cmds.workspaceControl("color!", retain=False, floating=False, hp='fixed', ih=20, uiScript="initWidget()") | |
# cmds.workspaceControl('SWEET | |
# myWidget.close() | |
myWidget = MyQWidget() | |
print myWidget.showRepr() | |
print myWidget.dockArea() | |
print myWidget.objectName() # string name we can find with maya.OpenMayaUI.MQtUtil.findControl() | |
print myWidget.isFloating() | |
cmds.workspaceControl(myWidget.objectName() + 'WorkspaceControl', q=1, ex=1) | |
# cmds.deleteUI(myWidget.objectName()) | |
mx.mixinWorkspaceControls | |
# currParent = omui.MQtUtil.getCurrentParent() | |
# mixinPtr = omui.MQtUtil.findControl(self.objectName()) | |
# omui.MQtUtil.addWidgetToMayaLayout(long(mixinPtr), long(currParent)) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment