一旦找不到属性,我想结束整个脚本。目前,我有以下代码。我显示一个对话框,并使用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 ...对话框?
答案 0 :(得分:1)
因为您正在使用函数,所以最简单的方法是在return
条件下使用if
,以使其永远不会继续执行该函数的其余部分:
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
,但我发现它在任务栏中出现的错误的可读性要差得多。