python - 有没有更短的方法来使用列表?

标签 python linux tkinter

我想知道是否有更短的方法来同时声明很多变量

    self.lal500 = ttk.Label(self.root, text='$500')
    self.ent500 = ttk.Entry(self.root, textvariable=self.int500, width=5, state='readonly')
    self.lal200 = ttk.Label(self.root, text='$200')
    self.ent200 = ttk.Entry(self.root, textvariable=self.int200, width=5, state='readonly')
    self.lal100 = ttk.Label(self.root, text='$100')
    self.ent100 = ttk.Entry(self.root, textvariable=self.int100, width=5, state='readonly')
    self.lal50 = ttk.Label(self.root, text='$50')
    self.ent50 = ttk.Entry(self.root, textvariable=self.int50, width=5, state='readonly')
    self.lal20 = ttk.Label(self.root, text='$20')
    self.ent20 = ttk.Entry(self.root, textvariable=self.int20, width=5, state='readonly')
    self.lal10 = ttk.Label(self.root, text='$10')
    self.ent10 = ttk.Entry(self.root, textvariable=self.int10, width=5, state='readonly')
    self.lal5 = ttk.Label(self.root, text='$5')
    self.ent5 = ttk.Entry(self.root, textvariable=self.int5, width=5, state='readonly')
    self.lal2 = ttk.Label(self.root, text='$2')
    self.ent2 = ttk.Entry(self.root, textvariable=self.int2, width=5, state='readonly')
    self.lal1 = ttk.Label(self.root, text='$1')
    self.ent1 = ttk.Entry(self.root, textvariable=self.int1, width=5, state='readonly')

最佳答案

使用字典存储对小部件的引用,然后只需迭代值列表:

self.labels = {}
self.entries = {}
for value in [1, 2, 5, 10, 20, 50, 100, 200, 500]:
    self.labels[value] = entry = tk.Entry(self, width=5, state='readonly')
    self.entries[value] = label = tk.Label(self, text="$%s" % value)

您可以通过以下方式获取任何条目的值:self.entries[100].get()

关于python - 有没有更短的方法来使用列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50708062/

相关文章:

python - 如果 true 则乘以值

python - 如何在 Pandas Groupby 中仅显示具有值的列

python - FacetGrid Seaborn 中每个图的 binwidth 不同

Linux:复制周日创建的文件

linux - 如何将路径添加到 update-alternatives --config php

python - 如何更新 tkinter 标签中的图像?

python - 面向对象编程不带参数访问类中的函数(python)

Linux UDP 套接字 : select() is not notified?

python - 如何使用 pack 将一个小部件放在并排的小部件下面?

Python3 Tkinter 字体不工作