我正在为Maya开发python脚本,并希望使用小的纹理
玛雅人为渐变纹理显示的缩略图,但是在我脚本的GUI中。有没有办法利用这些图像,或者我必须在脚本运行时动态生成新的缩略图并管理这些图像?

python - gui中的maya python坡度和纹理缩略图 View-LMLPHP

最佳答案

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)


然后将这个对象转换回您的ui并添加到pyside / pyqt中!

关于python - gui中的maya python坡度和纹理缩略图 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52519337/

10-12 13:03