def name_label_manager(event):
name = name_entry.get()
label_name = Label(root, text="Name: " + name)
label_name.grid(row=10, column=1, sticky=W)
label_name.delete(0, "end")
def description_label_manager(event):
description1 = description.get()
descrpt = Label(root, text="Description: " + description1)
descrpt.grid(row=9, column=1, sticky=W)
descrpt.delete(0, "end")
我这样称呼他们:
button_get = Button(root, text="Submit")
button_get.bind("<Button-1>", description_label_manager,name_label_manager)
button_get.grid(row=2, column=8)
我不知道这是否正确,但是我用按钮给他们打电话 由于某种原因,将显示desctription_label_manager标签,但不会显示名称标签
答案 0 :(得分:0)
就像布莱恩·奥克利(Bryan Oakley)指出的那样,labels
没有delete method
,Entry
Listbox
却没有标签
更进一步,您可以将tkinter小部件视为屏幕上绘制的图像,为了使这些图像显示文本,它们必须具有与之关联的变量,这里我们创建一些StringVar()
变量并将其分配给Entry
,然后您可以使用get
方法来获取当前存储在其中的内容。
您可以在Button中添加一个command
参数来调用函数,在这种情况下您应该这样做。
查看下面的代码以了解我上面刚刚解释的内容
import tkinter as tk
def name_label_manager(event=None):
name = name_entry_variable.get()
label_name = tk.Label(root, text="Name: "+name)
label_name.grid(row=10, column=1)
#label_name.delete(0, "end")
description_label_manager()
def description_label_manager(event=None):
description1 = description_entry_variable.get()
descrpt = tk.Label(root, text="Description: "+description1)
descrpt.grid(row=9, column=1)
#descrpt.delete(0, "end")
root=tk.Tk()
name_entry_variable=tk.StringVar()
description_entry_variable=tk.StringVar()
name_entry=tk.Entry(root,textvariable=name_entry_variable,width=10)
name_entry.grid(row=2, column=8)
description_entry=tk.Entry(root,textvariable=description_entry_variable,width=10)
description_entry.grid(row=3, column=8)
button_get = tk.Button(root, text="Submit", command=name_label_manager)
#button_get.bind("<Button-1>", description_label_manager,name_label_manager) command argument of Button should do
button_get.grid(row=4, column=8)
root.mainloop()