I'm writing a simple program in Python and Tkinter.
The Program shows and Entrybox for your name, put's out a welcome sentence with your name and deletes the content of the Entrybox.
Unfortunately the name itsself is deleted too, so I can't call it later in other sentences. The output of Q1_1 misses the name.
How can I fix that?
#NameInfo
NameInfo = ttk.Label(root, font=("Calibri", 14), text="Bitte geben Sie zuerst Ihren (eigenen) Namen ein:")
NameInfo.grid(column=0, row=3, sticky=tk.NW, padx=0, pady=0)
#Name
name = tk.StringVar()
getname = ttk.Entry(root, textvariable=name)
getname.grid(column=0, row=4, sticky=tk.NW, padx=0, pady=0)
#SaveName
SaveName = ttk.Button(root, text="Speichern", command=lambda: DisplayWelcome())
SaveName.grid(column=1, row=4, sticky=tk.NW, padx=0, pady=0)
#DisplayWelcome
def DisplayWelcome():
global DisplayWelcome1
DisplayWelcome1 = ttk.Label(root, font=("Calibri", 14), text=(str('Hallo, ' + name.get() + ' :)')))
DisplayWelcome1.grid(column=0, row=5, sticky=tk.NW, padx=0, pady=0)
global DisplayWelcome2
DisplayWelcome2 = ttk.Label(root, font=("Calibri", 14), text="xxx")
DisplayWelcome2.grid(column=0, row=6, sticky=tk.NW, padx=0, pady=0)
global DisplayWelcome3
DisplayWelcome3 = ttk.Label(root, font=("Calibri", 14), text="xxx")
DisplayWelcome3.grid(column=0, row=7, sticky=tk.NW, padx=0, pady=0)
global ForwardButton
ForwardButton = ttk.Button(root, text="Weiter", command=lambda: ForwardButtonClicked())
ForwardButton.grid(column=0, row=8, sticky=tk.NW, padx=0, pady=0)
getname.delete(0,'end')
#ForwardButtonClicked
def ForwardButtonClicked():
HelloInfo1.grid_remove()
HelloInfo2.grid_remove()
img_label.grid_remove()
NameInfo.grid_remove()
getname.grid_remove()
SaveName.grid_remove()
DisplayWelcome1.grid_remove()
DisplayWelcome2.grid_remove()
DisplayWelcome3.grid_remove()
ForwardButton.grid_remove()
global Q1_1
Q1_1 = ttk.Label(root, font=("Calibri", 14), text=(str('Ok, ' + name.get() + ' xxx')))
Q1_1.grid(column=0, row=0, sticky=tk.NW, padx=0, pady=0)