Tkinter中列表内按钮属性编辑报错AttributeError求解决方案
问题原因与解决方法
错误原因
你定义buttonlist的方式出错了——现在它是一个由多个单元素子列表组成的序列,而非直接存储按钮对象的一维列表。比如你写的buttonlist = [button00], [button01], [button02]...,实际会生成类似([button00], [button01], [button02])的结构,每个元素都是只包含一个按钮的小列表。这时候buttonlist[54]取到的是一个列表,而不是按钮对象,自然会报'list' object has no attribute 'config'的错误。
解决方法
方法1:修正列表定义(推荐)
把所有按钮对象直接放在同一个列表里,用方括号包裹,按钮之间用逗号分隔:
buttonlist = [button00, button01, button02, button03, ..., button99]
这样buttonlist[54]就直接对应button54这个按钮对象,调用buttonlist[54].config(text = "example")就能正常修改属性。
方法2:临时修复(不推荐)
如果暂时不想修改列表定义,需要额外取子列表的第一个元素来访问按钮对象:
buttonlist[54][0].config(text = "example")
但这种写法容易混淆,后续维护容易出问题,优先推荐方法1。
内容的提问来源于stack exchange,提问作者user21300075
相关产品推荐
相关产品推荐

