Я поместил виджет Label
с некоторой шириной и без текста in between
на две кнопки-флажки и дал ему тот же фон, что и у окна root.
Я использовал grid_rowconfigure()
и grid_columnconfigure()
для window
и frame
, чтобы сделать GUI отзывчивым.
Я добавил виджет Label
в в нижней части GUI, чтобы вы могли иметь представление о том, как добавить виджеты под ним, если в вашем приложении больше двух виджетов с кнопками.
import tkinter as tk
window = tk.Tk()
frame = tk.LabelFrame(window, text='Tools', font=('Helvetica', 15), fg='white', bg='#022340')
frame.grid(row=0, column=0, sticky='nsew')
window.grid_rowconfigure(0, weight=1)
window.grid_columnconfigure(0, weight=1)
frame.grid_rowconfigure((0,1), weight=1)
frame.grid_columnconfigure((1), weight=1)
button1 = tk.Checkbutton(frame, text='Button1', font=('Helvetica', 15, 'bold'), bg='red')
button2 = tk.Checkbutton(frame, text='Button2', font=('Helvetica', 15, 'bold'), bg='yellow')
# the label widget between the two checkbuttons
label_m = tk.Label(frame, width=30, bg='#022340')
label_m.grid(row=0, column=1)
# Add some padding to separate them apart
button1.grid(row=0, column=2, sticky='nsew')
button2.grid(row=0, column=0, sticky='nsew')
# a label widget to show how all widgets are placed in GUI
label = tk.Label(frame, text='A Label Widget', bg='white')
label.grid(row=1, sticky='nswe', columnspan=3)
window.mainloop()
Снимки экрана



Надеюсь, это поможет!