maya.cmds 结束脚本的对话框
maya.cmds Dialog to end script
一旦找不到属性,我想结束整个脚本。目前,我有以下代码。我显示一个对话框并使用 sys.exit()
结束脚本,但我想知道是否有一个 cmds 对话框可以自动为您执行此操作而无需 sys.exit()
、
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
cmds.confirmDialog(title= 'Attribute not found ', message = attr+' attribute was not found', button =['OK'])
sys.exit()
我的问题:是否存在停止脚本的 cmds...对话框?
由于您正在使用一个函数,最简单的方法是在您的 if
条件中使用 return
,这样它就不会继续函数的其余部分:
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
cmds.confirmDialog(title= 'Attribute not found ', message = attr+' attribute was not found', button =['OK'])
return
print "Continuing script"
check_attr("someAttr")
也可以使用OpenMaya.MGlobal.displayError
在Maya的任务栏中显示:
import maya.OpenMaya as OpenMaya
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
OpenMaya.MGlobal.displayError(attr + ' attribute was not found')
return
print "Continuing script"
check_attr("attr")
尽管要小心,因为 OpenMaya.MGlobal.displayError
只是 显示 一个错误,它不会像 cmds.error
那样停止执行。您也可以使用 cmds.error
,但我发现它在任务栏中吐出的错误可读性差很多。
一旦找不到属性,我想结束整个脚本。目前,我有以下代码。我显示一个对话框并使用 sys.exit()
结束脚本,但我想知道是否有一个 cmds 对话框可以自动为您执行此操作而无需 sys.exit()
、
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
cmds.confirmDialog(title= 'Attribute not found ', message = attr+' attribute was not found', button =['OK'])
sys.exit()
我的问题:是否存在停止脚本的 cmds...对话框?
由于您正在使用一个函数,最简单的方法是在您的 if
条件中使用 return
,这样它就不会继续函数的其余部分:
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
cmds.confirmDialog(title= 'Attribute not found ', message = attr+' attribute was not found', button =['OK'])
return
print "Continuing script"
check_attr("someAttr")
也可以使用OpenMaya.MGlobal.displayError
在Maya的任务栏中显示:
import maya.OpenMaya as OpenMaya
def check_attr(attr):
if not cmds.select(cmds.ls(attr)):
OpenMaya.MGlobal.displayError(attr + ' attribute was not found')
return
print "Continuing script"
check_attr("attr")
尽管要小心,因为 OpenMaya.MGlobal.displayError
只是 显示 一个错误,它不会像 cmds.error
那样停止执行。您也可以使用 cmds.error
,但我发现它在任务栏中吐出的错误可读性差很多。