gpt4 book ai didi

python - 在循环中为 Tkinter 条目小部件创建 StringVar 变量

转载 作者:行者123 更新时间:2023-11-28 20:20:03 25 4
gpt4 key购买 nike

我有一个小脚本可以生成随机数量的条目小部件。每个都需要一个 StringVar() 以便我可以将文本分配给小部件。我如何才能将它们创建为循环的一部分,因为我无法提前知道会有多少个?

from Tkinter import *
import random
root = Tk()
a = StringVar()
height = random.randrange(0,5)
width = 1

for i in range(height): #Rows
value + i = StringVar()
for j in range(width): #Columns
b = Entry(root, text="", width=100, textvariable=value+i)
b.grid(row=i, column=j)

mainloop()

最佳答案

您问题的直接答案是使用列表或字典来存储 StringVar 的每个实例。

例如:

vars = []
for i in range(height):
var = StringVar()
vars.append(var)
b = Entry(..., textvariable=var)

但是,您不需要将 StringVar 与条目小部件一起使用。 StringVar 如果您希望两个小部件共享同一个变量,或者如果您正在对变量进行跟踪,则很好,但它们会增加开销而没有实际好处。

entries = []
for i in range(height):
entry = Entry(root, width=100)
entries.append(entry)

您可以使用方法insertdelete 插入或删除数据,并使用get 获取值:

for i in range(height):
value = entries[i].get()
print "value of entry %s is %s" % (i, value)

关于python - 在循环中为 Tkinter 条目小部件创建 StringVar 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32640219/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com