我试图找出如何将字符串更改为Button
的名称。
例如,如果我有字符串self._name = 'self._prentice'
,我想制作self._prentice = tk.Button(master)
。我需要这样做,因为字符串可以是任何名称,我需要创建一种存储方式,以便我可以稍后pack
或destroy
。
我已尝试使用exec
,但我只能让它适用于整数而不是按钮。
答案 0 :(得分:1)
使用setattr
:
setattr(self, '_prentice', tk.Button(master))
。
答案 1 :(得分:-2)
在python中,类的实例变量存储在字典self.__dict__
中,因此不是
self._prentice = tk.Button(master)
你可以写
self.__dict__['_prentice'] = tk.Button(master)
或者,在您的情况下
self.__dict__[self._name] = tk.Button(master)