https://help.autodesk.com/cloudhelp/2018/CHS/Maya-Tech-Docs/CommandsPython/show.html?swatchDisplayPort.html&cat=Windows
Из документации, приведенной выше, я думаю, что вы можете использовать эту команду:
cmds.window()
cmds.columnLayout('r')
myShader = 'ramp2'
cmds.swatchDisplayPort('slPP', wh=(256, 256), sn=myShader)
cmds.showWindow()
Если вы используете PySide или PyQt, это немного сложно, вы можетенеобходимо использовать mayaAPI, чтобы найти указатель этой команды.
from PyQt5 import QtWidgets, QtGui, QtCore
from sip import wrapinstance
import maya.cmds as cmds
import maya.OpenMayaUI as omui
def mayaToQT( name ):
# Maya -> QWidget
ptr = omui.MQtUtil.findControl( name )
if ptr is None: ptr = omui.MQtUtil.findLayout( name )
if ptr is None: ptr = omui.MQtUtil.findMenuItem( name )
if ptr is not None: return wrapinstance( long( ptr ), QtWidgets.QWidget )
myShader = 'ramp2'
control = cmds.swatchDisplayPort('slPP', wh=(256, 256), sn=myShader)
swatchQT_ramp2 = mayaToQT(control)
, а затем добавить в свой pyside / pyqt этот объект, преобразованный обратно в ваш пользовательский интерфейс!