2 回答
TA貢獻1784條經驗 獲得超2個贊
當您vars在函數中本地執行時hi,會創建一個新的 dict 對象,這與全局創建的 dict 對象不同。您可以保存對變量的引用并在函數中
使用該變量。hi
import tkinter as tk
window = tk.Tk()
variable = "enter"
vars()[variable] = tk.Entry()
vars()[variable].insert(0, "hello")
vars()[variable].pack()
d = vars()
def hi():
text = d[variable].get()
button = tk.Button(text="Click", command=hi)
button.pack()
window.mainloop()
TA貢獻1843條經驗 獲得超7個贊
我需要按下一個按鈕來獲取名為“enter”的條目的內容。由于我的程序是如何工作的,這個名字,“enter”必須存儲在一個變量中,
比使用更好的解決方案vars()[variable]是將小部件存儲在字典中。的使用以vars()使代碼更難理解為代價提供的價值很小。
import tkinter as tk
window = tk.Tk()
variable = "enter"
widgets = {}
widgets[variable] = tk.Entry()
widgets[variable].insert(0, "hello")
widgets[variable].pack()
def hi():
text = widgets[variable].get()
print(text)
button = tk.Button(text = "Click", command = hi)
button.pack()
添加回答
舉報
