python - 如何使用defaultdict选择python tkinter列?

标签 python python-3.x tkinter selection defaultdict

我可以在 tkinter 程序中选择带有 defaultdict 的行,但我不知道如何选择整个列。我理解 defaultdict(list) 的概念,但我不知道如何编写代码来选择列。默认字典设置恰好是一个更大程序的一部分,所以我必须使用这个设置。如果有人可以帮助我选择该列,我将不胜感激。以我有限的知识,我知道要访问字典值,我需要 [][] 来访问它的值,我应该把它放在代码中的哪里?例如,如果我想将红色放入列[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")

关于python - 如何使用defaultdict选择python tkinter列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53554103/

相关文章:

python-3.x - Pandas DataFrame.plot 未正确设置 xlim 和 ylim

python - 从列表中选择特定项目

python Pandas 。使用 Series 创建 DataFrame 不会保留 dtype

Python - peewee - 调试语句 - 错误记录在哪里

Python tkinter 代码在函数内部时不运行

python - 空 Tkinter 窗口

python - 简单的图像查看器

python - 如何使用Python读取/写入.xpt文件?

python - argparse:将无法识别的选项视为位置?

python - 我怎样才能让我的程序返回密码强度