如何创建一个包含自身的字符串

0 投票
2 回答
589 浏览
提问于 2025-04-17 10:00

我正在为一些按钮创建一个功能。我不想为每个按钮都写一个,所以我写了这个

def setSmValue (self, attr):
    selection = mc.ls(sl=True)
    lightShapes = [mc.pickWalk(shape, direction="down")[0] for shape in selection if mc.nodeType(mc.pickWalk(shape, direction="down")) in ['directionalLight','pointLight','spotLight','areaLight']]
    mc.select(selection, r=True)
    value = mc.textFieldButtonGrp(self.smapResolutionField, q=True, text=True) 
    for l in lightShapes:
        mc.setAttr('%s.%s' % (l, attr), float(value))

这个方法能工作,但对所有按钮来说效果不太好。我想把

self.smapResolutionField

改成类似这样的

('self.%s' % attr)

我试了我能想到的所有方法,但似乎对self的用法理解得不太清楚 :)

有没有什么提示?

谢谢

补充说明:我可能忘了提,我用这个命令来查询一个文本框(用户在里面输入值,我需要把它读回来)

2 个回答

1

只需要使用内置的 setattr()getattr() 函数就可以了。

要设置值时:

setattr(self, 'smapResolutionField', some_value)

要获取值时:

getattr(self, 'smapResolutionField')
1

你可以使用:

getattr(self, attr)

来实现这个功能哦 :)

撰写回答