gpt4 book ai didi

python - 访问列表中的 Tkinter 小部件时出现问题

转载 作者:行者123 更新时间:2023-11-28 21:28:55 26 4
gpt4 key购买 nike

我正在尝试编写一个小程序,其中我有一个使用 Python 和 Tkinter 的标签和条目字段列表(请参见下面的代码)。添加小部件没问题。但是,当我想使用其中一个实例的方法时(例如在一个输入字段上使用 Insert() ),我想不出一种方法来做到这一点。

我的代码是这样的:

from Tkinter import *
import random
root = Tk()

attributes = {'Strength':10, 'Dexterity':10, 'Constitution':10, 'Intelligence':10, 'wisdom':10, 'charisma':10}
entries = []
labels = []

i = 0
for a in attributes:
labels.append(Label(root, text = a, justify = LEFT).grid(sticky = W))
entries.append(Entry(root).grid(column = 1, row = i))
i = i+1

root.mainloop()

我试过一个简单的

entries[i].insert("text to insert")

e = Entry
e = entries[i]
e.insert...

但这并没有帮助。我见过其他人尝试使用列表中的对象的例子,他们似乎只是在做我第一次尝试时所做的事情。我错过了什么吗?

谢谢

最佳答案

Entry(root).grid() 返回一个 NoneType 对象,因此您在列表中存储的所有内容都是 None。您可以先创建 Entry 小部件,调用 grid() 然后将其附加到您的列表。

from Tkinter import *
import random
root = Tk()
attributes = {'Strength':10, 'Dexterity':10, 'Constitution':10, 'Intelligence':10, 'wisdom':10, 'charisma':10}
entries = []
labels = []


for i,a in enumerate(attributes):
labels.append(Label(root, text = a, justify = LEFT).grid(sticky = W))
e = Entry(root)
e.grid(column=1, row=i)
entries.append(e)
entries[i].insert(INSERT,"text to insert")



root.mainloop()

关于python - 访问列表中的 Tkinter 小部件时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6776322/

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