Tkinter 无法在两个函数之间传递条目数据
Tkinter fails to pass Entry data between two functions
当我 运行 以下代码时,我收到以下错误: NameError: name 'barE' is not defined.
Tkinter 的 Entry 是否可以从一个功能到另一个功能?我在这个程序中有一个全局 window 和框架,它使用与下面相同的语法无错误地传递用户的输入。
def newSearchForm():
window2=Tk()
window2.geometry("650x400")
frame = Frame(window2)
frame.pack(side="top", expand=True, fill="both")
barcode=Label(frame,text="Please Enter The Barcode", font='time 15')
barcode.place(x=10,y=90)
barE=Entry(frame)
barE.place(x=250,y=90)
isbn=Label(frame,text="Please Enter The ISBN", font='time 15')
isbn.place(x=10,y=130)
isbE=Entry(frame)
isbE.place(x=250,y=130)
repeatSearchButton=Button(frame,text="Enter", command=newSearch,width=12,bg='gray')
repeatSearchButton.place(x=150,y=170)
window.mainloop()
def newSearch():
uB = barE.get()
uI = isbE.get()
carlSearch(uB, uI)
itemTitle=workspace.find_element_by_xpath('//*[@id="mainContent"]/div[2]/div[2]/div[2]/div[1]/div[1]/div').text
ingramSearch()
fantasticFictionSearch(itemTitle)
outputMetadata()
我尝试使用 lambda 命令显式传递变量,但没有成功。
我尝试使用 anexising window 但没有用,所以我销毁了它并创建了一个新的。
我建议您使用文本变量。您可以通过 StringVar
创建一个文本变量并在条目小部件中分配它。
有关为什么使用文本变量的更多详细信息,请参阅 Should I use Entry's .get() or its textvariable's for Tkinter in Python?
用法:
barE_var=StringVar()
barE=Entry(frame,textvariable=barE_var)
barE.place(x=250,y=90)
要获取值,请使用 barE_var.get()
。
Tkinter 的 Entry 是否可以从一个功能到另一个功能?
它确实有效,但必须使用 global 关键字才能访问它们。
def newSearch():
global barE_var
当我 运行 以下代码时,我收到以下错误: NameError: name 'barE' is not defined.
Tkinter 的 Entry 是否可以从一个功能到另一个功能?我在这个程序中有一个全局 window 和框架,它使用与下面相同的语法无错误地传递用户的输入。
def newSearchForm():
window2=Tk()
window2.geometry("650x400")
frame = Frame(window2)
frame.pack(side="top", expand=True, fill="both")
barcode=Label(frame,text="Please Enter The Barcode", font='time 15')
barcode.place(x=10,y=90)
barE=Entry(frame)
barE.place(x=250,y=90)
isbn=Label(frame,text="Please Enter The ISBN", font='time 15')
isbn.place(x=10,y=130)
isbE=Entry(frame)
isbE.place(x=250,y=130)
repeatSearchButton=Button(frame,text="Enter", command=newSearch,width=12,bg='gray')
repeatSearchButton.place(x=150,y=170)
window.mainloop()
def newSearch():
uB = barE.get()
uI = isbE.get()
carlSearch(uB, uI)
itemTitle=workspace.find_element_by_xpath('//*[@id="mainContent"]/div[2]/div[2]/div[2]/div[1]/div[1]/div').text
ingramSearch()
fantasticFictionSearch(itemTitle)
outputMetadata()
我尝试使用 lambda 命令显式传递变量,但没有成功。 我尝试使用 anexising window 但没有用,所以我销毁了它并创建了一个新的。
我建议您使用文本变量。您可以通过 StringVar
创建一个文本变量并在条目小部件中分配它。
有关为什么使用文本变量的更多详细信息,请参阅 Should I use Entry's .get() or its textvariable's for Tkinter in Python?
用法:
barE_var=StringVar()
barE=Entry(frame,textvariable=barE_var)
barE.place(x=250,y=90)
要获取值,请使用 barE_var.get()
。
Tkinter 的 Entry 是否可以从一个功能到另一个功能?
它确实有效,但必须使用 global 关键字才能访问它们。
def newSearch():
global barE_var