Я делаю игру TieTacToe, и когда мы нажимаем кнопку, нам не нужно нажимать ее снова в следующий раз. Для этого я добавил событие ко всем кнопкам и изменил состояние нажатых кнопок на отключенное, а его команду на Нет, но оно все еще работает. И когда мы нажимаем кнопку, он меняет свой размер. Но мне нужно оставить прежний размер
Мой код:
import tkinter as tk
table = [
[None, None, None],
[None, None, None],
[None, None, None]
]
turn = "red"
root = tk.Tk()
root.title("TieTacToe")
root.geometry("402x450")
def callback(event):
global turn
b = event.widget
if turn == "red":
b["bg"] = "red"
table[int(b['text'].split("x")[0])][int(b['text'].split("x")[1])] = 1
turn = "blue"
b["text"] = "X"
b["font"] = 6
b["state"] = 'disabled'
b["command"] = None
else:
b["bg"] = "blue"
table[int(b['text'].split("x")[0])][int(b['text'].split("x")[1])] = 0
turn = "red"
b["text"] = "O"
b["font"] = 6
b["state"] = 'disabled'
b["command"] = None
print(table)
# table[0][0]
b1 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='0x0')
b1.place(x=85, y=100)
b1.bind("<Button-1>", callback)
# table[0][1]
b2 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='0x1')
b2.place(x=170, y=100)
b2.bind("<Button-1>", callback)
# table[0][2]
b3 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='0x2')
b3.place(x=255, y=100)
b3.bind("<Button-1>", callback)
# table[1][0]
b4 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='1x0')
b4.place(x=85, y=200)
b4.bind("<Button-1>", callback)
# table[1][1]
b5 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='1x1')
b5.place(x=170, y=200)
b5.bind("<Button-1>", callback)
# table[1][2]
b6 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='1x2')
b6.place(x=255, y=200)
b6.bind("<Button-1>", callback)
# table[2][0]
b7 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='2x0')
b7.place(x=85, y=300)
b7.bind("<Button-1>", callback)
# table[2][1]
b8 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='2x1')
b8.place(x=170, y=300)
b8.bind("<Button-1>", callback)
# table[2][2]
b9 = tk.Button(root, padx=20, pady=20, bg='gray', fg='gray', text='2x2')
b9.place(x=255, y=300)
b9.bind("<Button-1>", callback)
root.mainloop()