如何从 python3.6 中的 tkinter 中的条目小部件获取值
how to get the the value from the entry widget in tkinter in python3.6
我正在尝试从条目中获取数据box.I我没有使用这些变量。当我尝试打印结果时,它显示为空白。我尝试使用 lambda 但仍然无法正常工作。我是新来的。请告诉我哪里错了。我在网上试过,但它们是旧版本的解决方案。
def insertdata(E1):
print(E1)
e1 = StringVar()
L1 = Label(F1, text ="Serial No:",anchor = E)
L1.grid(row = 0 ,column = 0)
E1 = Entry(F1,textvariable = e1)
E1.grid(row = 0 ,column = 2, sticky = N)
v1 = e1.get()
Button (F2,text = "Paid",command=lambda:insertdata(v1)).pack(side= TOP)
您已将 v1
设置为 e1.get()
,然后才能将任何内容输入条目。
我尝试了下面的代码,它工作正常。
from tkinter import * # SHOULD NOT USE.
F1=Tk()
F2=Tk()
def insertdata(E1):
print(E1)
e1 = StringVar()
L1 = Label(F1, text ="Serial No:",anchor = E)
L1.grid(row = 0 ,column = 0)
E1 = Entry(F1,textvariable = e1)
E1.grid(row = 0 ,column = 2, sticky = N)
Button (F2,text = "Paid",command=lambda:insertdata(e1.get())).pack(side= TOP) # SHOULD NOT USE.
如何在 entry
小部件中获取内容并打印。使用您发布的代码,您做了很多错误的事情;您不能使用 pack
和 grid
将您的小部件放置在同一个 window 中。也永远不要这样做:Button (F2,text = "Paid",command=lambda:insertdata(v1)).pack(side= TOP)
,但始终将布局管理器放在下一行。
示例
b = Button (F2,text = "Paid",command=lambda:insertdata(v1))
b.pack(side= TOP)
完整代码
from tkinter import *
def insertdata():
print(e1)
print(E1.get())
root = Tk()
L1 = Label( text="Serial No:", anchor=E)
L1.grid(row=0, column=0)
e1 = StringVar()
E1 = Entry( textvariable=e1)
E1.grid(row=0, column=2, sticky=N)
b = Button( text="Paid", command=insertdata)
b.grid(row=10, column=30)
root.mainloop()
我正在尝试从条目中获取数据box.I我没有使用这些变量。当我尝试打印结果时,它显示为空白。我尝试使用 lambda 但仍然无法正常工作。我是新来的。请告诉我哪里错了。我在网上试过,但它们是旧版本的解决方案。
def insertdata(E1):
print(E1)
e1 = StringVar()
L1 = Label(F1, text ="Serial No:",anchor = E)
L1.grid(row = 0 ,column = 0)
E1 = Entry(F1,textvariable = e1)
E1.grid(row = 0 ,column = 2, sticky = N)
v1 = e1.get()
Button (F2,text = "Paid",command=lambda:insertdata(v1)).pack(side= TOP)
您已将 v1
设置为 e1.get()
,然后才能将任何内容输入条目。
我尝试了下面的代码,它工作正常。
from tkinter import * # SHOULD NOT USE.
F1=Tk()
F2=Tk()
def insertdata(E1):
print(E1)
e1 = StringVar()
L1 = Label(F1, text ="Serial No:",anchor = E)
L1.grid(row = 0 ,column = 0)
E1 = Entry(F1,textvariable = e1)
E1.grid(row = 0 ,column = 2, sticky = N)
Button (F2,text = "Paid",command=lambda:insertdata(e1.get())).pack(side= TOP) # SHOULD NOT USE.
如何在 entry
小部件中获取内容并打印。使用您发布的代码,您做了很多错误的事情;您不能使用 pack
和 grid
将您的小部件放置在同一个 window 中。也永远不要这样做:Button (F2,text = "Paid",command=lambda:insertdata(v1)).pack(side= TOP)
,但始终将布局管理器放在下一行。
示例
b = Button (F2,text = "Paid",command=lambda:insertdata(v1))
b.pack(side= TOP)
完整代码
from tkinter import *
def insertdata():
print(e1)
print(E1.get())
root = Tk()
L1 = Label( text="Serial No:", anchor=E)
L1.grid(row=0, column=0)
e1 = StringVar()
E1 = Entry( textvariable=e1)
E1.grid(row=0, column=2, sticky=N)
b = Button( text="Paid", command=insertdata)
b.grid(row=10, column=30)
root.mainloop()