В вашем вопросе много неясного, но надеюсь, что я понимаю, что вы хотите:
- Вы хотите указать цветом, какая кнопка нажата.
Вы должны привязать событие к кнопке и использовать метод config для изменения цвета фона.
Вы хотите, чтобы кнопки находились внутри созданных вами рамок, а не в самом корневом окне.
Вы правильно инициализировали рамку, но не установили родительский элемент для рамки, а такжеВы используете рамку в качестве родителя кнопок.
Так что вы можете изменить свой код так, чтобы он был больше похож на:
class MainWindow:
def __init__(self, master):
mainLabel = tk.Label(root, text='Main Window')
mainLabel.pack()
button1_frame = tk.Frame(root)
button1_frame.pack()
mainButton = tk.Button(button1_frame, text='Button 1', command=onClick, width=20)
mainButton.bind('<Button-1>', lambda event: mainButton.config(bg='red'))
mainButton.pack(side=tk.LEFT)
button_frame2 = tk.Frame(root)
button_frame2.pack()
mainButton2 = tk.Button(button_frame2, text='Button 2', command=onClick, width=20)
mainButton2.bind('<Button-1>', lambda event: mainButton2.config(bg='green'))
mainButton2.pack(side=tk.LEFT)