因此,我将 tkinter 用于用户必须使用输入字段和标签登录的程序:
代码:
import tkinter as tk
master = tk.Tk()
def all_children(window):
_list = window.winfo_children()
for item in _list:
if item.winfo_children():
_list.extend(item.winfo_children())
return _list
def rules():
clear()
ruleLabel = tk.Label(master, textvariable="Test")
ruleLabel.grid(row=0, column=0)
master.update()
def clear():
widget_list = all_children(master)
for item in widget_list:
item.grid_forget()
master.update()
master.update()
def login():
tk.Label(master, text="Username").grid(row=0)
tk.Label(master, text="Password").grid(row=1)
global entry1
entry1 = tk.Entry(master)
global entry2
entry2 = tk.Entry(master)
entry1.grid(row=0, column=1)
entry2.grid(row=1, column=1)
tk.Button(master, text='Quit', command=master.quit).grid(row=3, column=0, sticky=tk.W, pady=4)
tk.Button(master, text='Enter', command=lambda: rules()).grid(row=3, column=1, sticky=tk.W, pady=4)
login()
master.mainloop()
当我运行它时,它会正确清除第一组小部件,但从未添加新标签,我做错了什么吗?
仅供参考,我对 Tkinter 很陌生,所以这可能很明显。
感谢任何帮助或建议,提前致谢。
答案 0 :(得分:1)
标签已创建,但其内容为空。
更改 rules()
中的以下行:
ruleLabel = tk.Label(master, textvariable="Test")
到
ruleLabel = tk.Label(master, text="Test")