![](/img/trans.png)
[英]Python Tkinter: Resetting a previously defined variable with Entry
[英]python tkinter entry variable not defined
誰能幫我解決這個錯誤,我不知道如何解決它。
from tkinter import *
def get_data():
target=Entry.get(note)
def show():
note=Entry(root)
note.grid(row=2,column=1)
b2=Button(root,text='view',command=get_data).grid(row=2,column=2)
root=Tk()
root.title("test")
Label(root,text="click").grid(row=1,column=1)
b1=Button(root,text='click',command=show).grid(row=1,column=2)
root.mainloop()
錯誤:
target=Entry.get(note) NameError: name 'note' is not defined
簡單的解決方法是全局定義注釋,然后將其放在 function 中:
from tkinter import *
def get_data():
target=Entry.get(note)
def show():
note.grid(row=2,column=1)
b2=Button(root,text='view',command=get_data).grid(row=2,column=2)
root=Tk()
root.title("test")
note=Entry(root)
Label(root,text="click").grid(row=1,column=1)
b1=Button(root,text='click',command=show).grid(row=1,column=2)
root.mainloop()
您可以將參數傳遞給按鈕觸發的函數:
from tkinter import *
def get_data(note):
target = Entry.get(note)
def show(root):
note = Entry(root)
note.grid(row=2, column=1)
b2 = Button(root, text='view', command=lambda: get_data(note)).grid(row=2, column=2)
def main():
root = Tk()
root.title("test")
Label(root,text="click").grid(row=1, column=1)
b1 = Button(root, text='click', command=lambda: show(root)).grid(row=1, column=2)
root.mainloop()
if __name__ == '__main__':
main()
我使用lambda
使用參數note
進行調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.