Python 访问列表中的Tkinter小部件时出现问题
我正在尝试编写一个小程序,其中有一个使用Python和Tkinter的标签和输入字段列表(请参见下面的代码)。添加小部件没有问题。然而,当我想使用其中一个实例的方法时(比如其中一个输入字段上的Insert()),我想不出一种方法 我的代码如下所示:Python 访问列表中的Tkinter小部件时出现问题,python,tkinter,Python,Tkinter,我正在尝试编写一个小程序,其中有一个使用Python和Tkinter的标签和输入字段列表(请参见下面的代码)。添加小部件没有问题。然而,当我想使用其中一个实例的方法时(比如其中一个输入字段上的Insert()),我想不出一种方法 我的代码如下所示: from Tkinter import * import random root = Tk() attributes = {'Strength':10, 'Dexterity':10, 'Constitution':10, 'Intelligenc
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")
及
但这没用。我还看到过其他一些人试图使用列表中的对象的例子,看起来他们正在做我第一次尝试时做的事情。我错过什么了吗
谢谢条目(根)。grid()
返回一个NoneType
对象,因此列表中存储的所有内容都是None
。您可以先创建条目
小部件,调用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之前遇到过这个问题。我想,“为什么要用两行代码来创建一些东西并设置网格位置。我将把它们全部放在一行上。”有趣的故事,“.grid”没有返回任何内容。因此,我认为您没有在此处添加任何内容。您遗漏的是错误消息。它告诉你什么?如果ypu从字面上理解错误信息,它会让你发现什么?是的,就是它。。。看到我上面的评论,我应该想到。谢谢,谢谢!就是这样(我真的应该想到..我打印了一些条目,我得到的只是(没有,没有…)
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()