如何使用 defaultdict select python tkinter 列?
how to select python tkinter columns with defaultdict?
我可以在我的 tkinter 程序中使用 defaultdict select 行,但我不知道如何 select 整个列。我了解 defaultdict(list) 的概念,但我不知道如何编码到 select 列。 defaultdict 设置恰好是一个更大程序的一部分,所以我必须使用这个设置。如果有人可以帮助我 selecting 专栏,我将不胜感激。以我有限的知识,我知道要访问一个字典值我需要 [][] 来访问它的值,我应该把它放在我的代码中的什么地方?例如,如果我想将红色放在第 [1] 列中,我该怎么做?
import pulp
import tkinter as tk
from tkinter import ttk
from collections import defaultdict
class Application(ttk.Frame): #inherent from frame.
def __init__(self, parent):
tk.Frame.__init__(self, parent, bg="LightBlue4")
self.parent = parent
self.pack()
self.labels_dict = defaultdict(list)
self.GUI()
def GUI(self):
for i in range (9):
for day in range(7):
self.label = tk.Label(self, relief="ridge", width=11,
height=3)
self.label.grid(row=i, column=day, sticky='nsew')
self.labels_dict[i].append(self.label)
self.button=tk.Button(self, text="Caluculate", bg="salmon")
self.button.grid(row = 10, column = 6)
for (i) in self.labels_dict:
for element in self.labels_dict[1]:
element.configure(bg = "red")
def main():
root = tk.Tk()
root.title("class basic window")
root.geometry("1200x600")
root.config(background="LightBlue4")
app = Application(root)
root.mainloop()
if __name__ == '__main__':
main()
要访问列,您可以遍历行并获取每行的第 n 个元素,例如
for row in self.labels_dict:
element = self.labels_dict[row][1]
element.configure(bg = "red")
要访问一行,您不需要双循环,只需取一行并循环遍历该行的元素
for element in self.labels_dict[1]:
element.configure(bg = "red")
我可以在我的 tkinter 程序中使用 defaultdict select 行,但我不知道如何 select 整个列。我了解 defaultdict(list) 的概念,但我不知道如何编码到 select 列。 defaultdict 设置恰好是一个更大程序的一部分,所以我必须使用这个设置。如果有人可以帮助我 selecting 专栏,我将不胜感激。以我有限的知识,我知道要访问一个字典值我需要 [][] 来访问它的值,我应该把它放在我的代码中的什么地方?例如,如果我想将红色放在第 [1] 列中,我该怎么做?
import pulp
import tkinter as tk
from tkinter import ttk
from collections import defaultdict
class Application(ttk.Frame): #inherent from frame.
def __init__(self, parent):
tk.Frame.__init__(self, parent, bg="LightBlue4")
self.parent = parent
self.pack()
self.labels_dict = defaultdict(list)
self.GUI()
def GUI(self):
for i in range (9):
for day in range(7):
self.label = tk.Label(self, relief="ridge", width=11,
height=3)
self.label.grid(row=i, column=day, sticky='nsew')
self.labels_dict[i].append(self.label)
self.button=tk.Button(self, text="Caluculate", bg="salmon")
self.button.grid(row = 10, column = 6)
for (i) in self.labels_dict:
for element in self.labels_dict[1]:
element.configure(bg = "red")
def main():
root = tk.Tk()
root.title("class basic window")
root.geometry("1200x600")
root.config(background="LightBlue4")
app = Application(root)
root.mainloop()
if __name__ == '__main__':
main()
要访问列,您可以遍历行并获取每行的第 n 个元素,例如
for row in self.labels_dict:
element = self.labels_dict[row][1]
element.configure(bg = "red")
要访问一行,您不需要双循环,只需取一行并循环遍历该行的元素
for element in self.labels_dict[1]:
element.configure(bg = "red")