SwatchDisplayPortをQtのUIに埋め込む
code:python
def create_qt_swatch_display_port(file_node: Text, parent: QtWidgets.QLayout) -> QtWidgets.QWidget:
win = cmds.window()
cmds.columnLayout()
sw = cmds.swatchDisplayPort(h=64, w=64, sn=file_node)
ptr = MQtUtil.findControl(sw)
widget = QtCompat.wrapInstance(int(ptr), QtWidgets.QWidget)
widget.setFixedSize(QtCore.QSize(64, 64))
qmd.material.update_thumbnail(file_node)
parent.addWidget(widget)
cmds.deleteUI(win)
return widget
MayaWindowを親にするだけだとレイアウトがねーぞって怒られるので、一旦ウィンドウ作ってレイアウト作ったのち、Qtのレイアウトの子供にしてウィンドウを消すという力技