使用python在maya中设置热键

时间:2014-01-07 09:01:45

标签: python maya pymel

我正在研究为python中的一些自定义脚本创建新的热键,并希望使用pm.nameCommandpm.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热键?

谢谢!

1 个答案:

答案 0 :(得分:1)

mel的{​​{1}}函数运行Python的python模块中没有__main__的代码。

所以试试:

toolTest