Tkinter:如何设置网格单元格的背景色?
我已经创建了一个Tkinter网格,并希望为网格的不同单元格设置不同的背景色Tkinter:如何设置网格单元格的背景色?,tkinter,colors,background,grid,cell,Tkinter,Colors,Background,Grid,Cell,我已经创建了一个Tkinter网格,并希望为网格的不同单元格设置不同的背景色 如何实现这一点?我创建的网格如下所示: import numpy as np from tkinter import * M = np.array([[1, 2], [3, 4]]) root = Tk() for i in range(len(M)): #Rows for j in range(len(M[0])): #Columns b = Label(root, text=str(M
如何实现这一点?我创建的网格如下所示:
import numpy as np
from tkinter import *
M = np.array([[1, 2], [3, 4]])
root = Tk()
for i in range(len(M)): #Rows
for j in range(len(M[0])): #Columns
b = Label(root, text=str(M[i][j]))
b.grid(row=i, column=j)
mainloop()
最近也有同样的问题!我认为您需要提供更多的细节,但这里有一个大致的答案,以及对我有效的方法:
- 将单元格作为值存储在字典中,并将其(行、列)元组作为键李>
- 现在,您可以使用元组引用这些单元格并更改其属性(下面的示例)
希望这有帮助!:) 如何创建网格?Tkinter没有“grid”对象,只有一个名为
grid
的方法。
widgets_dictionary = {} # initialize your empty dictionary
for i in range(rows):
for j in range(columns):
# widget definition here, let's say it's a label
label = Label(...)
label.pack()
# create a reference to the widget in your dictionary
widget[(i,j)] = label
# Now, referring to your specific question:
# (x,y) = the index of the cell you want to change
# colour = the background colour you want to change it to
widget[(x,y)].config(bg = "colour")