如何在另一个上使用 Entry 输入 window
How to use input of Entry on another window
from tkinter import *
enter_details = Tk()
enter_details.title("Fill details here")
enter_details.geometry("500x200")
Label(enter_details,text = "Name ").grid(row = 0)
e1=Entry(enter_details)
e1.grid(row=0,column=1)
Label(enter_details,text ="Enrollment no. ").grid(row=1)
e2=Entry(enter_details)
e2.grid(row=1,column=1)
def show():
Label(enter_details,text="Name : "+e1.get()).grid(row=4)
Label(enter_details,text="Enrollment no. : "+e2.get()).grid(row=5)
Button(enter_details, text='Check',command=show).grid(row=3,column=0)
Button(enter_details, text='Done',command=enter_details.destroy).grid(row=3,column=1)
enter_details.mainloop()
marksheet = Tk()
marksheet.title("Third sem marksheet")
marksheet.geometry("720x900")
clg_name= Label(marksheet)
clg_name.config(text='TECHNOCRATS INSTITUTE OF TECHNOLOGY')
clg_name.config(font=('times',20,'bold'))
clg_name.config(fg='red')
clg_name.pack()
show_name=Label(marksheet)
show_name.config(text=e1.get())
show_name.pack()
b1=Button(marksheet, text='Done',command=marksheet.destroy)
b1.pack(expand=YES)
marksheet.mainloop()
我想在标记表 window 中打印在 enter_details window 中输入的 e1 条目,但我无法执行此操作。我尝试寻找解决方案但失败了,所以我在那里。
from tkinter import *
global e1_input
enter_details = Tk()
enter_details.title("Fill details here")
enter_details.geometry("500x700")
Label(enter_details,text = "Name :").grid(row = 0)
e1=Entry(enter_details)
e1.grid(row=0,column=1)
e1_input = e1.get()
Label(enter_details,text ="Enrollment no. :").grid(row=1)
e2=Entry(enter_details)
e2.grid(row=1,column=1)
Label(enter_details,text = "Father's name :").grid(row=2)
e3=Entry(enter_details)
e3.grid(row=2,column=1)
Label(enter_details,text = "Previous CGPA :").grid(row=3)
e4=Entry(enter_details)
e4.grid(row = 3,column=1)
Label(enter_details,text = "Semester :").grid(row=4)
e5=Entry(enter_details)
e5.grid(row = 4,column=1)
def show():
Label(enter_details,text="Name : "+e1.get()).grid(row=6)
Label(enter_details,text="Enrollment no. : "+e2.get()).grid(row=7)
Label(enter_details,text="Father's name : "+e3.get()).grid(row=8)
Label(enter_details,text="previous CGPA : "+e4.get()).grid(row=9)
Label(enter_details,text="Semester : "+e5.get()).grid(row=10)
Button(enter_details, text='Check',command=show).grid(row=5,column=0)
Button(enter_details, text='Done',command=enter_details.destroy).grid(row=5,column=1)
enter_details.mainloop()
marksheet = Tk()
marksheet.title("Third sem marksheet")
marksheet.geometry("720x900")
clg_name= Label(marksheet)
clg_name.config(text='TECHNOCRATS INSTITUTE OF TECHNOLOGY')
clg_name.config(font=('times',20,'bold'))
clg_name.config(fg='red')
clg_name.pack()
show_name=Label(marksheet)
show_name.config(textvariable=e1_input)
show_name.pack()
b1=Button(marksheet, text='Done',command=marksheet.destroy)
b1.pack(expand=YES)
marksheet.mainloop()
我编辑了我以前的代码,但它仍然无法正常工作,因为在尝试打印存储在 e1_input 全局变量中的值时,标记表 windows 上没有显示任何内容。如果您知道应该怎么做,请告诉我。
当程序退出第一个 mainloop
时,小部件将被销毁,您将无法再访问它们。您可以将 e1
中的输入值保存在一个变量中,稍后在第二个 mainloop
中访问它。这需要在 enter_details.destroy
.
之前完成
实际上,你可以定义一个函数enter_details_quit
:
def enter_details_quit():
global e1_input
e1_input = e1.get()
enter_details.destroy()
并将其分配给 'Done' 按钮的命令:
Button(enter_details, text='Done',command=enter_details_quit).grid(row=3,column=1)
如果你想避免全局变量,你可以考虑使用class构造来存储相关的输入值。
from tkinter import *
enter_details = Tk()
enter_details.title("Fill details here")
enter_details.geometry("500x200")
Label(enter_details,text = "Name ").grid(row = 0)
e1=Entry(enter_details)
e1.grid(row=0,column=1)
Label(enter_details,text ="Enrollment no. ").grid(row=1)
e2=Entry(enter_details)
e2.grid(row=1,column=1)
def show():
Label(enter_details,text="Name : "+e1.get()).grid(row=4)
Label(enter_details,text="Enrollment no. : "+e2.get()).grid(row=5)
Button(enter_details, text='Check',command=show).grid(row=3,column=0)
Button(enter_details, text='Done',command=enter_details.destroy).grid(row=3,column=1)
enter_details.mainloop()
marksheet = Tk()
marksheet.title("Third sem marksheet")
marksheet.geometry("720x900")
clg_name= Label(marksheet)
clg_name.config(text='TECHNOCRATS INSTITUTE OF TECHNOLOGY')
clg_name.config(font=('times',20,'bold'))
clg_name.config(fg='red')
clg_name.pack()
show_name=Label(marksheet)
show_name.config(text=e1.get())
show_name.pack()
b1=Button(marksheet, text='Done',command=marksheet.destroy)
b1.pack(expand=YES)
marksheet.mainloop()
我想在标记表 window 中打印在 enter_details window 中输入的 e1 条目,但我无法执行此操作。我尝试寻找解决方案但失败了,所以我在那里。
from tkinter import *
global e1_input
enter_details = Tk()
enter_details.title("Fill details here")
enter_details.geometry("500x700")
Label(enter_details,text = "Name :").grid(row = 0)
e1=Entry(enter_details)
e1.grid(row=0,column=1)
e1_input = e1.get()
Label(enter_details,text ="Enrollment no. :").grid(row=1)
e2=Entry(enter_details)
e2.grid(row=1,column=1)
Label(enter_details,text = "Father's name :").grid(row=2)
e3=Entry(enter_details)
e3.grid(row=2,column=1)
Label(enter_details,text = "Previous CGPA :").grid(row=3)
e4=Entry(enter_details)
e4.grid(row = 3,column=1)
Label(enter_details,text = "Semester :").grid(row=4)
e5=Entry(enter_details)
e5.grid(row = 4,column=1)
def show():
Label(enter_details,text="Name : "+e1.get()).grid(row=6)
Label(enter_details,text="Enrollment no. : "+e2.get()).grid(row=7)
Label(enter_details,text="Father's name : "+e3.get()).grid(row=8)
Label(enter_details,text="previous CGPA : "+e4.get()).grid(row=9)
Label(enter_details,text="Semester : "+e5.get()).grid(row=10)
Button(enter_details, text='Check',command=show).grid(row=5,column=0)
Button(enter_details, text='Done',command=enter_details.destroy).grid(row=5,column=1)
enter_details.mainloop()
marksheet = Tk()
marksheet.title("Third sem marksheet")
marksheet.geometry("720x900")
clg_name= Label(marksheet)
clg_name.config(text='TECHNOCRATS INSTITUTE OF TECHNOLOGY')
clg_name.config(font=('times',20,'bold'))
clg_name.config(fg='red')
clg_name.pack()
show_name=Label(marksheet)
show_name.config(textvariable=e1_input)
show_name.pack()
b1=Button(marksheet, text='Done',command=marksheet.destroy)
b1.pack(expand=YES)
marksheet.mainloop()
我编辑了我以前的代码,但它仍然无法正常工作,因为在尝试打印存储在 e1_input 全局变量中的值时,标记表 windows 上没有显示任何内容。如果您知道应该怎么做,请告诉我。
当程序退出第一个 mainloop
时,小部件将被销毁,您将无法再访问它们。您可以将 e1
中的输入值保存在一个变量中,稍后在第二个 mainloop
中访问它。这需要在 enter_details.destroy
.
实际上,你可以定义一个函数enter_details_quit
:
def enter_details_quit():
global e1_input
e1_input = e1.get()
enter_details.destroy()
并将其分配给 'Done' 按钮的命令:
Button(enter_details, text='Done',command=enter_details_quit).grid(row=3,column=1)
如果你想避免全局变量,你可以考虑使用class构造来存储相关的输入值。