如何将任何选定对象的getAttr放在textField中?

时间:2018-01-19 15:58:26

标签: python maya

我在脚本和法语方面有点新意,所以如果我的解释不是很清楚的话,请不要理我。

我试图在Maya中创建一个脚本来轻松管理动画的键值。

所以我创建了一个窗口,用另一个组织复制Maya的ChannelBox。 现在,我尝试在不同的textField(transXYZrotX ..)内获取所选对象的属性值。< / p>

以下是我现在所拥有的:

transX_value = cmds.textField( w=100 , h=22 , tx= cmds.getAttr("%s.translateX" %selected) )

但是,当我选择我的多维数据集进行测试并启动我的脚本时,会出现此错误:

TypeError: Object [u'pCube1'].translateX is invalid

所以我尝试了这样的事情,看看问题是否来自我的表述:

transX_value = cmds.textField( w=100 , h=22 , tx= cmds.getAttr("pCube1.translateX") )

它在textField中工作并打印了好的值。

如何调用任何所选对象的属性?我刚刚发现%s命令,所以我确定我没有正确使用它。

1 个答案:

答案 0 :(得分:2)

这是一个非常常见的错误。您的'selected'变量包含列表,而不是字符串。你应该得到第一个列表值,所以只需改变你的代码:

transX_value = cmds.textField(w=100, h=22, tx=cmds.getAttr("%s.translateX" % selected[0]))