gpt4 book ai didi

python - 在另一个方法中运行一个方法。 Python

转载 作者:太空宇宙 更新时间:2023-11-04 11:05:08 24 4
gpt4 key购买 nike

我正在调用另一个方法。我得到的这个脚本的错误是

NameError: name 'mnDialog' is not defined

有什么理由吗?我认为这与执行不在全局级别的命令有关。 (我没有 python 有全局和局部变量声明的印象。)什么是正确的语法或绕过这个?谢谢你的时间。


import maya.cmds as cmds
def mnProgRun():
def mnDialog(*args):
cmds.confirmDialog( title='Confirm', message='Are you sure?',button=['Yes','No'], defaultButton='Yes',cancelButton='No',dismissString='No' )
def mnMakeWin():
cmds.window( 'mnWin', title = 'testman', wh=(260,100))
cmds.columnLayout(adjustableColumn=False, columnAlign='center')
cmds.button( label="Yes,it works",align='center',width=120,height=25, backgroundColor=[0.5,1,0.5],command='cmds.scriptJob( event=["SelectionChanged","mnDialog"])')
cmds.button( label="No, Thank You!",align='center',width=120,height=25, backgroundColor=[1,0.5,0.5],command='cmds.deleteUI("mnWin")')
cmds.showWindow( 'mnWin' )
mnMakeWin()
mnProgRun()

最佳答案

问题是 mnDialog 没有从 mnMakeWin 中查找,您传递的是名称,当您不在正确的范围内时,稍后会查找它.

传递函数而不是名称可能会起作用。我没有安装 maya,所以无法尝试。

否则你将不得不在全局范围内定义 mnDialog,这对我来说似乎是一个奇怪的限制

关于python - 在另一个方法中运行一个方法。 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1862945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com