如何从 Toplevel window 访问根 window 中的条目字段值?
How to access Entry field value in root window from Toplevel window?
我有 2 个不同的文件。一个具有根 window 代码,另一个具有顶层 window 函数中的代码,该函数由根文件中的按钮调用。
我想在顶级 window 的 entry_take
条目字段中插入我在根 window 的 email_box
字段中输入的值,但是我无法这样做。
(我尝试在第二个文件中导入 email_box 字段,但出现循环导入错误,我无法想出任何其他方法从 email_box
中获取值)
第一个文件代码:
from tkinter import *
from elt2 import window2
root=Tk()
email_box=Entry(root,width=35,borderwidth=2)
email_box.grid(row=0,column=1,pady=(5,0),padx=10)
pass_box=Entry(root,width=35,borderwidth=2)
pass_box.grid(row=1,column=1)
def submitpass():
if pass_box.get()=="test":
passshow=Label(root,text=" CORRECT ",background="#2E0063",fg='white')
passshow.grid(row=3,column=0,columnspan=2,padx=8)
window2()
else:
passshow=Label(root,text="INCORRECT",background="#2E0063",fg='white')
passshow.grid(row=3,column=0,columnspan=2,padx=8)
checkbtn=Button(root,text="CHECK",command=submitpass)
checkbtn.grid(row=2,column=1,columnspan=2,padx=10,pady=5,ipadx=45)
root.mainloop()
第二个文件代码:
from tkinter import *
def window2():
root2=Toplevel()
root2.geometry("250x75")
entry_take=Entry(root2)
entry_take.pack()
root2.mainloop()
如上面 Menno 所述,调整 window 2 函数以传递 email_box.get()
允许值在 windows.
之间传递
第一个文件代码:
from tkinter import *
from elt2 import window2
root = Tk()
email_box = Entry(root, width=35, borderwidth=2)
email_box.grid(row=0, column=1, pady=(5, 0), padx=10)
pass_box = Entry(root, width=35, borderwidth=2)
pass_box.grid(row=1, column=1)
def submitpass():
if pass_box.get() == "test":
passshow = Label(root, text=" CORRECT ", background="#2E0063", fg='white')
passshow.grid(row=3, column=0, columnspan=2, padx=8)
window2(email_box.get())
else:
passshow = Label(root, text="INCORRECT", background="#2E0063", fg='white')
passshow.grid(row=3, column=0, columnspan=2, padx=8)
checkbtn = Button(root, text="CHECK", command=submitpass)
checkbtn.grid(row=2, column=1, columnspan=2, padx=10, pady=5, ipadx=45)
root.mainloop()
第二个文件代码:
from tkinter import *
def window2(entry_value):
root2 = Toplevel()
root2.geometry("250x75")
entry_take = Entry(root2)
entry_take.insert(0, entry_value)
entry_take.pack()
root2.mainloop()
我有 2 个不同的文件。一个具有根 window 代码,另一个具有顶层 window 函数中的代码,该函数由根文件中的按钮调用。
我想在顶级 window 的 entry_take
条目字段中插入我在根 window 的 email_box
字段中输入的值,但是我无法这样做。
(我尝试在第二个文件中导入 email_box 字段,但出现循环导入错误,我无法想出任何其他方法从 email_box
中获取值)
第一个文件代码:
from tkinter import *
from elt2 import window2
root=Tk()
email_box=Entry(root,width=35,borderwidth=2)
email_box.grid(row=0,column=1,pady=(5,0),padx=10)
pass_box=Entry(root,width=35,borderwidth=2)
pass_box.grid(row=1,column=1)
def submitpass():
if pass_box.get()=="test":
passshow=Label(root,text=" CORRECT ",background="#2E0063",fg='white')
passshow.grid(row=3,column=0,columnspan=2,padx=8)
window2()
else:
passshow=Label(root,text="INCORRECT",background="#2E0063",fg='white')
passshow.grid(row=3,column=0,columnspan=2,padx=8)
checkbtn=Button(root,text="CHECK",command=submitpass)
checkbtn.grid(row=2,column=1,columnspan=2,padx=10,pady=5,ipadx=45)
root.mainloop()
第二个文件代码:
from tkinter import *
def window2():
root2=Toplevel()
root2.geometry("250x75")
entry_take=Entry(root2)
entry_take.pack()
root2.mainloop()
如上面 Menno 所述,调整 window 2 函数以传递 email_box.get()
允许值在 windows.
第一个文件代码:
from tkinter import *
from elt2 import window2
root = Tk()
email_box = Entry(root, width=35, borderwidth=2)
email_box.grid(row=0, column=1, pady=(5, 0), padx=10)
pass_box = Entry(root, width=35, borderwidth=2)
pass_box.grid(row=1, column=1)
def submitpass():
if pass_box.get() == "test":
passshow = Label(root, text=" CORRECT ", background="#2E0063", fg='white')
passshow.grid(row=3, column=0, columnspan=2, padx=8)
window2(email_box.get())
else:
passshow = Label(root, text="INCORRECT", background="#2E0063", fg='white')
passshow.grid(row=3, column=0, columnspan=2, padx=8)
checkbtn = Button(root, text="CHECK", command=submitpass)
checkbtn.grid(row=2, column=1, columnspan=2, padx=10, pady=5, ipadx=45)
root.mainloop()
第二个文件代码:
from tkinter import *
def window2(entry_value):
root2 = Toplevel()
root2.geometry("250x75")
entry_take = Entry(root2)
entry_take.insert(0, entry_value)
entry_take.pack()
root2.mainloop()