如何解决如何使用条目小部件在 tkinter 中制作电子表格?
我正在制作一个应用程序,用户可以在其中使用在 tkinter 中制作的电子表格来更改数据库中的值,但是我对如何执行此操作感到非常困惑。我用 while 循环创建了输入框,如下所示:
while o<numberofstudents:
global eTrial
eTrial = Entry(rootOC,width=3)
eTrial.place(x=200+y*43,y=50 + 25 * o)
eTrial.delete(0,"end")
eTrial.insert(0,"100")
o=o+1
如何从使用 for 循环创建的每个单独的输入框中获取数据。 我试过 .get() 但它似乎不起作用
解决方法
eTrial
仅指向已创建的最后一个 Entry
。有很多方法可以做到这一点,这取决于您想要做什么。下面我制作了 eTrial
一个列表并添加了一个 Button
以将列表的当前内容打印到终端。
import tkinter as tk
o = 0
numberofstudents = 5
columns = 3
rootOC = tk.Tk()
frame = tk.Frame( rootOC )
frame.grid()
widgets = []
for r in range( 1,1+numberofstudents ):
wid_row = []
for col in range( columns ):
obj = tk.Entry( frame,width=3 )
obj.grid( row = r,column = col )
obj.delete(0,"end")
obj.insert(0,str( 100*r+col ))
wid_row.append( obj )
widgets.append( wid_row )
def onclick():
for row in widgets:
for item in row:
print( item.get(),end = ' ' )
print()
tk.Button( rootOC,text = 'Print input',command = onclick ).grid()
rootOC.mainloop()
如果我在 GUI 打开后立即单击“打印输入”,我会得到:
100 101 102
200 201 202
300 301 302
400 401 402
500 501 502
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。