我正在研究为python中的一些自定义脚本创建新的热键,并希望使用pm.nameCommand
和pm.hotkey
命令。问题是,当我从脚本编辑器运行以下代码时,它运行正常并且一切都很花哨,但是当我从脚本运行它时,我在尝试使用热键时会出错。
import pymel.core as pm
import toolTest
#clear existing hotkey
pm.hotkey(keyShortcut='a', ctrlModifier=True, name='')
#create named command for custom tool
#For some reason you need to run the python tool command through a python command in mel
pm.nameCommand( 'hotkeyTest', ann='Hotkey Test', c='python(\"toolTest.testing()\");')
#assign it a hotkey
pm.hotkey( keyShortcut='a', ctrlModifier=True, name='hotkeyTest')
这是上面引用的toolTest.py文件
def testing():
print "Testing Hotkeys"
如果您在脚本编辑器中运行上述所有内容,那么它应该可以正常工作。然后,如果您将第一部分代码放入一个文件(hotkeyTest.py)并从脚本编辑器运行该代码,则在尝试使用该热键时会出现以下错误。
# Error: line 1: NameError: file <maya console> line 1: name 'toolTest' is not defined #
有没有人知道如何使用python从外部脚本为自定义工具设置maya热键?
谢谢!
答案 0 :(得分:1)
mel
的{{1}}函数运行Python的python
模块中没有__main__
的代码。
所以试试:
toolTest