Create some room around all the internal frames
The Commands frame cmd_frame = ttk.LabelFrame(self.window, text=”Commands”, padx=5, pady=5, relief=tk.RIDGE)
cmd_frame = ttk.LabelFrame(self.window, text="Commands", relief=tk.RIDGE)
cmd_frame.grid(row=1, column=1, sticky=tk.E + tk.W + tk.N + tk.S)
button_label = ttk.Label(cmd_frame, text="tk.Button")
button_label.grid(row=1, column=1, sticky=tk.W, pady=3)
button_label = ttk.Label(cmd_frame, text="ttk.Button")
button_label.grid(row=2, column=1, sticky=tk.W, pady=3)
menu_label = ttk.Label(cmd_frame, text="Menu (see examples above)")
menu_label.grid(row=3, column=1, columnspan=2, sticky=tk.W, pady=3)
my_button = tk.Button(cmd_frame, text="do something")
my_button.grid(row=1, column=2)
my_button = ttk.Button(cmd_frame, text="do something")
my_button.grid(row=2, column=2)
The Data entry frame
entry_frame = ttk.LabelFrame(self.window, text="Data Entry",
relief=tk.RIDGE)
entry_frame.grid(row=2, column=1, sticky=tk.E + tk.W + tk.N + tk.S)
entry_label = ttk.Label(entry_frame, text="ttk.Entry")
entry_label.grid(row=1, column=1, sticky=tk.W + tk.N)
text_label = ttk.Label(entry_frame, text="tk.Text")
text_label.grid(row=2, column=1, sticky=tk.W + tk.N)
scale_label = ttk.Label(entry_frame, text="tk.Scale")
scale_label.grid(row=4, column=1, sticky=tk.W)
scale_label2 = ttk.Label(entry_frame, text="ttk.Scale")
scale_label2.grid(row=5, column=1, sticky=tk.W)
my_entry = ttk.Entry(entry_frame, width=40)
my_entry.grid(row=1, column=2, sticky=tk.W, pady=3)
my_entry.insert(tk.END, "Test")
my_text = tk.Text(entry_frame, height=5, width=30)
my_text.grid(row=2, column=2)
my_text.insert(tk.END, "An example of multi-line\ninput")
my_spinbox = tk.Spinbox(entry_frame, from_=0, to=10, width=5, justify=tk.RIGHT)
my_spinbox.grid(row=3, column=2, sticky=tk.W, pady=3)
my_scale = tk.Scale(entry_frame, from_=0, to=100, orient=tk.HORIZONTAL,
width=8, length=200)
my_scale.grid(row=4, column=2, sticky=tk.W)
my_scale = ttk.Scale(entry_frame, from_=0, to=100, orient=tk.HORIZONTAL,
length=200)
my_scale.grid(row=5, column=2, sticky=tk.W)
The Choices frame
switch_frame = ttk.LabelFrame(self.window, text="Choices", relief=tk.RIDGE, padding=6)
switch_frame.grid(row=2, column=2, padx=6, sticky=tk.E + tk.W + tk.N + tk.S)
checkbox_label = ttk.Label(switch_frame, text="ttk.Checkbutton")
checkbox_label.grid(row=1, rowspan=3, column=1, sticky=tk.W + tk.N)
entry_label = ttk.Label(switch_frame, text="ttk.Radiobutton")
entry_label.grid(row=4, rowspan=3, column=1, sticky=tk.W + tk.N)
checkbutton1 = ttk.Checkbutton(switch_frame, text="On-off switch 1")
checkbutton1.grid(row=1, column=2)
checkbutton2 = ttk.Checkbutton(switch_frame, text="On-off switch 2")
checkbutton2.grid(row=2, column=2)
checkbutton3 = ttk.Checkbutton(switch_frame, text="On-off switch 3")
checkbutton3.grid(row=3, column=2)
self.radio_variable = tk.StringVar()
self.radio_variable.set("0")
radiobutton1 = ttk.Radiobutton(switch_frame, text="Choice One of three",
variable=self.radio_variable, value="0")
radiobutton2 = ttk.Radiobutton(switch_frame, text="Choice Two of three",
variable=self.radio_variable, value="1")
radiobutton3 = ttk.Radiobutton(switch_frame, text="Choice Three of three",
variable=self.radio_variable, value="2")
radiobutton1.grid(row=4, column=2, sticky=tk.W)
radiobutton2.grid(row=5, column=2, sticky=tk.W)
radiobutton3.grid(row=6, column=2, sticky=tk.W)
The Choosing from lists frame
fromlist_frame = ttk.LabelFrame(self.window, text="Choosing from a list",
relief=tk.RIDGE)
fromlist_frame.grid(row=1, column=2, sticky=tk.E + tk.W + tk.N + tk.S, padx=6)
listbox_label = tk.Label(fromlist_frame, text="tk.Listbox")
listbox_label.grid(row=1, column=1, sticky=tk.W + tk.N)
combobox_label = tk.Label(fromlist_frame, text="ttk.Combobox")
combobox_label.grid(row=2, column=1, sticky=tk.W + tk.N)
my_listbox = tk.Listbox(fromlist_frame, height=4)
for item in ["one", "two", "three", "four"]:
my_listbox.insert(tk.END, "Choice " + item)
my_listbox.grid(row=1, column=2)
self.combobox_value = tk.StringVar()
my_combobox = ttk.Combobox(fromlist_frame, height=4, textvariable=self.combobox_value)
my_combobox.grid(row=2, column=2)
my_combobox['values'] = ("Choice one", "Choice two", "Choice three", "Choice four")
my_combobox.current(0)
Menus
menubar = tk.Menu(self.window)
filemenu = tk.Menu(menubar, tearoff=0)
filemenu.add_command(label="Open", command=filedialog.askopenfilename)
filemenu.add_command(label="Save", command=filedialog.asksaveasfilename)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.window.quit)
menubar.add_cascade(label="File", menu=filemenu)
self.window.config(menu=menubar)
Quit button in the lower right corner
Create the entire GUI program
Start the GUI event loop
{% if show_ethical_ad %}
You have attempted of activities on this page