Maya でファイルをロードする.ui
には、以前に Python でこれを行ったことがあります。C++ についてはわかりませんが、とにかく Maya が C++ を直接解釈するとは思いません (間違っている可能性があります)。
import maya.cmds as cmds
ve = cmds.about(version=True)
conv = "%s"%ve
versionOutput = float(conv[0:4])
def mayaVers():
cmds.warning("You're using Maya %s! You need to be using Maya 2011 or greater to be compatible with this script.\n" % conv);
def loadUIWindow():
if versionOutput >= 2011:
if (cmds.dockControl('dockUIWindow', exists=True)):
cmds.deleteUI('dockUIWindow')
scriptsDirectory = cmds.internalVar(usd=True)
UIWindow = cmds.loadUI(uiFile=scriptsDirectory + "/uifilename.ui")
dockSoftMod = cmds.dockControl('dockUIWindow',area="left", content='uiwindowname', label="")
else:
mayaVers()
loadUIWindow()
私が過去に行った方法は次のとおりです。UI ファイルを Maya セッションにソースするだけの場合は、次の方法で実行できます。
明らかに、ui ファイルをスクリプト ディレクトリに配置するか、uiFilePath をファイルに変更する必要があります。
また、コンテンツ フラグdockControl
は重要です。これは、ドッキングしようとしているウィンドウまたはコントロールの名前である必要があります。UI ファイル ラッパーを 'win' と呼んでいるとしましょう。コンテンツ フラグは同じである必要があります。
編集
UI ファイルを読み込んだ後、その名前がわかっている場合は、ウィンドウ内の任意の要素を編集できます。
cmds.button('ParentBtn', edit=1, command="parentObject()")
お役に立てれば。