Labelframe, Label, Button – an small example that is easy to see and follow.
#Labelframe_Frame example for wikipython #standard set up header code 2 from tkinter import * root = Tk() root.attributes('-fullscreen', True) root.configure(background='white') scrW = root.winfo_screenwidth() scrH = root.winfo_screenheight() workwindow = str(1024) + "x" + str(768)+ "+" +str(int((scrW-1024)/2)) + "+" +str(int((scrH-768)/2)) top1 = Toplevel(root, bg="light blue") top1.geometry(workwindow) top1.title("Top 1 - Workwindow") top1.attributes("-topmost", 1) # make sure top1 is on top to start root.update() # but don't leave it locked in place top1.attributes("-topmost", 0) # in case you use lower or lift #exit button - note: uses grid b3=Button(root, text="Egress", command=root.destroy) b3.grid(row=0,column=0,ipadx=10, ipady=10, pady=5, padx=5, sticky = W+N) #____________________________ l1bgcolor=StringVar("") def entertest(self): l1.config(takefocus=1, highlightcolor="blue", highlightthickness=20) l1.configure(bg="yellow") def exittest(self): l1.configure(bg= l1bgcolor.get(), takefocus=0, highlightthickness=0) def flashme(): for i in range(5): myBut.flash() if l1.cget("bg")=="linen": l1.configure(bg="misty rose") else: l1.configure(bg="linen") top1.update() lfspacer=LabelFrame(top1, width='2.5i', height = '1.5i', bg="light blue", fg="blue2",text="This is an invisible labelframe spacer.") lfspacer.grid(row=0, column=0) # by setting the bg to the same as parent top1 and lfspacer.configure(relief=FLAT) # relief to flat this labelframe become invisible labelframe= LabelFrame(top1, text="This is a LabelFrame", height='2i', width='3i', highlightbackground="red", highlightthickness=5) labelframe.configure(bd=20) labelframe.grid(row=1, column=1) l1 = Label(labelframe, text="This is a label inside the LabelFrame", bd=5, relief=GROOVE, bg="gray90") #set bg if you want cget to work l1.bind("<Enter>", entertest) l1.bind("<Leave>", exittest) l1.grid(row=3, column=1, padx=10, pady=10, ipadx=5, ipady=5) l1bgcolor.set(l1.cget("background")) myBut= Button(top1, text="Button1", bg="white", activebackground="yellow", activeforeground="blue", bd=10, command=flashme) myBut.configure(highlightbackground='red4', highlightthickness=7, width=20) myBut.grid(row=5, column=1, pady=15, ipady=5, ipadx=5) top1.update() #____________________________ root.mainloop()