gpt4 book ai didi

python - 将 lambda 函数绑定(bind)到使用 For 循环创建的多个 Tkinter Entry 小部件

转载 作者:太空宇宙 更新时间:2023-11-04 01:19:09 25 4
gpt4 key购买 nike

<分区>

我正在尝试将一个函数绑定(bind)到 Tkinter 中的多个 Entry 小部件。我在 for 循环中用许多 Entry 小部件填充了我的框架。要将函数绑定(bind)到使用 for 循环创建的 Entry 小部件,我认为我可以执行如下操作:

import Tkinter as tk   

class Application(tk.Frame):
def __init__(self, master):
self.master = master
tk.Frame.__init__(self, master, width=200, height=200)
self.master.title('Application')
self.pack_propagate(0)
self.pack()

for i in range(10):
strVar = tk.StringVar()
item = tk.Entry(self, textvariable=strVar)
item.bind(sequence='<Return>', func=lambda strVar=strVar, i=i: self.obtain(i, strVar))
item.grid(row=i, sticky=tk.W)

def obtain(self, i, strVar):
print i
print strVar.get()

def run(self):
self.mainloop()

app = Application(tk.Tk())
app.run()

但是我收到以下错误:

print strVar.get()
AttributeError: Event instance has no attribute 'get'

我不明白为什么它不能将 strVar 解释为 tk.StringVar() 变量...有什么想法吗?

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