如何在tkinter中使用2D列表访问按钮网格中的按钮?

考希克劳

我是tkinter的初学者,我试图使用2D列表创建5X5的按钮网格。但是,如果我尝试在for循环后更改按钮的bg颜色,它只会更改最后一行的按钮的颜色。

from tkinter import *
rows=5
columns=5
btns=[[None]*5]*5
root=Tk()
def darken(btn):
    btn.configure(bg='black')
for i in range(rows):
    for j in range(columns):
        btns[i][j]=Button(root,padx=10,bg='white')
        btns[i][j]['command']=lambda btn=btns[i][j]:darken(btn)
        btns[i][j].grid(row=i,column=j)
btns[0][0]['bg']='yellow'
root.mainloop()
垫料

问题在于您构建列表的方式

btns=[[None]*5]*5

通过这种方式,您可以创建一个列表,并每5次重复引用一次。因此,每次循环在行列表中添加按钮时,相同的更改都会影响其他行列表。

btns = [[None]*5]*5
btns[0][0] = 'a'

btns ---> [
['a', None, None, None, None],
['a', None, None, None, None],
['a', None, None, None, None],
['a', None, None, None, None],
['a', None, None, None, None]
]

这是建立清单的正确方法

btns = [[None for i in range(rows)] for j in range(columns)]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在MVC 2中使用ASP服务器控件,如文本框,按钮,复选框列表网格视图?

来自分类Dev

如何在MVC 2中使用ASP服务器控件,如文本框,按钮,复选框列表网格视图?

来自分类Dev

如何在TKinter中沿着网格添加按钮

来自分类Dev

访问tkinter按钮中的文本以在命令中使用

来自分类Dev

访问tkinter按钮中的文本以在命令中使用

来自分类Dev

如何在toplevel()Tkinter中使用画布制作按钮

来自分类Dev

如何在Tkinter中更新为列表创建的按钮的文本

来自分类Dev

如何在jQuery Mobile中的可单击列表项中使用按钮创建列表视图

来自分类Dev

如何在Python 3中使用tkinter创建带有值的弹出消息按钮?

来自分类Dev

如何在动态生成的列表中使用按钮更改文本?

来自分类Dev

在Tkinter Python中使用网格移动按钮/条目

来自分类Dev

网格中的Tkinter按钮对齐

来自分类Dev

tkinter,从列表中创建12个按钮的网格

来自分类Dev

如何在 tkinter 网格中使用图像?

来自分类Dev

如何在Unity 2D中为按钮设置动画?

来自分类Dev

如何在GLSL中渲染无限2D网格?

来自分类Dev

如何在Tkinter中调整按钮的大小?

来自分类Dev

如何在Tkinter中创建停止按钮?

来自分类Dev

如果使用按钮将项目添加到列表中,如何在另一个按钮中使用更新后的列表?

来自分类Dev

如何在SwiftUI中使用按钮从数组中删除项目?

来自分类Dev

如何在ExpandableListAdapter中使用片段中的按钮

来自分类Dev

如何在ionic 2中使用navparams添加动态按钮

来自分类Dev

如何在活动中访问片段的按钮

来自分类Dev

如何在github中访问管理按钮?

来自分类Dev

如何在python中使用Tkinter遍历标签中的列表?

来自分类Dev

在kendo网格中使用Delete按钮后,如何刷新MVC中的Partial视图

来自分类Dev

如何在不编写类的情况下在Tkinter中访问按钮的父级?

来自分类Dev

如何在React中使用单选按钮?

来自分类Dev

如何在链接按钮中使用<%=%>?

Related 相关文章

  1. 1

    如何在MVC 2中使用ASP服务器控件,如文本框,按钮,复选框列表网格视图?

  2. 2

    如何在MVC 2中使用ASP服务器控件,如文本框,按钮,复选框列表网格视图?

  3. 3

    如何在TKinter中沿着网格添加按钮

  4. 4

    访问tkinter按钮中的文本以在命令中使用

  5. 5

    访问tkinter按钮中的文本以在命令中使用

  6. 6

    如何在toplevel()Tkinter中使用画布制作按钮

  7. 7

    如何在Tkinter中更新为列表创建的按钮的文本

  8. 8

    如何在jQuery Mobile中的可单击列表项中使用按钮创建列表视图

  9. 9

    如何在Python 3中使用tkinter创建带有值的弹出消息按钮?

  10. 10

    如何在动态生成的列表中使用按钮更改文本?

  11. 11

    在Tkinter Python中使用网格移动按钮/条目

  12. 12

    网格中的Tkinter按钮对齐

  13. 13

    tkinter,从列表中创建12个按钮的网格

  14. 14

    如何在 tkinter 网格中使用图像?

  15. 15

    如何在Unity 2D中为按钮设置动画?

  16. 16

    如何在GLSL中渲染无限2D网格?

  17. 17

    如何在Tkinter中调整按钮的大小?

  18. 18

    如何在Tkinter中创建停止按钮?

  19. 19

    如果使用按钮将项目添加到列表中,如何在另一个按钮中使用更新后的列表?

  20. 20

    如何在SwiftUI中使用按钮从数组中删除项目?

  21. 21

    如何在ExpandableListAdapter中使用片段中的按钮

  22. 22

    如何在ionic 2中使用navparams添加动态按钮

  23. 23

    如何在活动中访问片段的按钮

  24. 24

    如何在github中访问管理按钮?

  25. 25

    如何在python中使用Tkinter遍历标签中的列表?

  26. 26

    在kendo网格中使用Delete按钮后,如何刷新MVC中的Partial视图

  27. 27

    如何在不编写类的情况下在Tkinter中访问按钮的父级?

  28. 28

    如何在React中使用单选按钮?

  29. 29

    如何在链接按钮中使用<%=%>?

热门标签

归档