我在理解如何使用fileDialog2的“ optionsUICommit”标志时遇到了麻烦。当用户在文件对话框中单击“保存”时,我要运行命令on_save_dialog_file
。但是从帮助文件来看,似乎要我使用MEL命令。
http://help.autodesk.com/cloudhelp/2016/ENU/Maya-Tech-Docs/CommandsPython/index.html
仅MEL。该字符串被解释为MEL回调,称为
对话框成功关闭时。如果它不会被调用
用户取消对话框或使用窗口标题关闭窗口
条控件或其他窗口系统工具。回调是
形式:全局proc MyCustomOptionsUICommit(string $ parent)
parent参数是控件已放入其中的父布局。
使用optionsUICreate标志添加
这似乎...很复杂。
这是我的代码。
import pymel.core as pm
def on_save_dialog_file(myDialog):
print "Hello from file_dialog_save_file()!"
def file_dialog_save_file():
myDialog = pm.fileDialog2(ocm="on_save_dialog_file", fm=0, ff="Maya Files (*.ma *.mb);;Maya ASCII (*.ma);;Maya Binary (*.mb);;All Files (*.*)", dialogStyle=2)
print myDialog
file_dialog_save_file()
甚至尝试作为一个奇怪的Mel-> Python命令也没有用。
ocm="python \"on_save_dialog_file()\";"
在对话框中设置保存文件后,是否有更简单/更直接的方式来运行命令?
最佳答案
您可以像这样,无需回调。用户选择以外的任何内容都将返回None
c = cmds.fileDialog2(fm=0, ff="Maya Files (*.ma *.mb);;Maya ASCII (*.ma);;Maya Binary (*.mb);;All Files (*.*)", dialogStyle=2)
if c:
print c
else:
print "user cancelled"
关于python - Maya Pymel:将fileDialog2的返回值传递到UI文本字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34625788/