无法访问 tkinter python 中另一个 window 中的列表
Not able to access list in another window in tkinter python
from tkinter import *
root=Tk()
root.title("")
#root.geometry("500x500")
global c
c=[]
def new():
win=Toplevel()
win.title("")
for i in range(0,25):
name=Label(win,text=str(c[i]),bg='#ADD8E6',fg='white',width=20)
name.grid(column=1,row=i)
for i in range(1,26):
name=Label(root,text='enter name of team'+str(i),bg='#ADD8E6',fg='white',width=20)
name.grid(column=1,row=i)
entry=Entry(root,bg='white',fg='black')
entry.grid(column=2,row=i)
c.append(entry.get())
submit=Button(root,text='Submit',bg='red',fg='white',command=new)
submit.grid(column=1,row=26,columnspan=3)
root.mainloop()
在第一个 window 中采用不同框的输入形式后,在需要时不会在第二个 window 中输入相同的名称。它只是发送一个 window 和指定的 bgcolour
PLaese 帮助
您没有获得正确值的原因是,当程序 运行 时,Entry
小部件默认为空,因此列表没有获得任何值,并且当按下按钮时, 它。在第二个 window.
上显示标签 text = ""
要解决此问题,动态获取 Entry
小部件的值 表示按下按钮时获取值。您可以将每个 Entry
小部件存储到一个列表中,然后在 new
函数中访问它们。
在您的代码中,只需更改两行。
- 将
c.append(entry.get())
更改为 c.append(entry)
。
- 在
new
函数中,将标签 name
的 "text" 的参数值从 text=str(c[i])
到 text=str(c[i].get())
.
from tkinter import *
root=Tk()
root.title("")
#root.geometry("500x500")
global c
c=[]
def new():
win=Toplevel()
win.title("")
for i in range(0,25):
name=Label(win,text=str(c[i]),bg='#ADD8E6',fg='white',width=20)
name.grid(column=1,row=i)
for i in range(1,26):
name=Label(root,text='enter name of team'+str(i),bg='#ADD8E6',fg='white',width=20)
name.grid(column=1,row=i)
entry=Entry(root,bg='white',fg='black')
entry.grid(column=2,row=i)
c.append(entry.get())
submit=Button(root,text='Submit',bg='red',fg='white',command=new)
submit.grid(column=1,row=26,columnspan=3)
root.mainloop()
在第一个 window 中采用不同框的输入形式后,在需要时不会在第二个 window 中输入相同的名称。它只是发送一个 window 和指定的 bgcolour
PLaese 帮助
您没有获得正确值的原因是,当程序 运行 时,Entry
小部件默认为空,因此列表没有获得任何值,并且当按下按钮时, 它。在第二个 window.
text = ""
要解决此问题,动态获取 Entry
小部件的值 表示按下按钮时获取值。您可以将每个 Entry
小部件存储到一个列表中,然后在 new
函数中访问它们。
在您的代码中,只需更改两行。
- 将
c.append(entry.get())
更改为c.append(entry)
。 - 在
new
函数中,将标签name
的 "text" 的参数值从text=str(c[i])
到text=str(c[i].get())
.