В настоящее время я заканчиваю простую игру Tic Tac Toe, используя tkinter, Ящики (кнопки), которые меняются на X или O при нажатии. Для этого я использовал функцию для нажатия кнопки, которая меняет текст на кнопке с помощью текстовой переменной, как показано ниже:
T1text=Tk.StringVar()
T1=Tk.Button(nac, textvariable=T1text, width="25", height="12" , bg="red", command=updateT1)
T1.grid(row=1, column=0)
T1text.set("")
Этот раздел представляет собой создаваемую кнопку и создающую переменную "T1text" (вверху 1), которая будет использоваться для изменения текста в кнопке либо на O, либо на X, поскольку вы можете видеть, что сначала я установил T1text в "", вот функция изменения:
if T1taken==1:
print("space taken")
elif player=="X":
T1text.set("X")
player="O"
playerText.set(player)
elif player=="O":
T1text.set("O")
player="X"
playerText.set(player)
Это изменяет текст в T1text на X или O.
Мне нужно иметь возможность установить букву X или O в больший размер, поскольку она слишком мала, чтобы видеть в больших коробках.
Это то, что я пробовал до сих пор:
T1text=Tk.StringVar()
T1=Tk.Button(nac, textvariable=T1text, font=("Helvetica", 70), width="25", height="12" , bg="red", command=updateT1)
T1.grid(row=1, column=0)
T1text.set("")
это создает логическую ошибку и делает массив массивным, что я могу даже видеть другие поля, и они отключены от экрана.
Я понятия не имею, что еще я мог бы попробовать, любая помощь была бы высоко оценена.
Спасибо Большое!
Мало что нужно отметить:
Я рекомендую изменить размер от 70 до 30.
Главное в вашем коде - не использовать параметры ширины и высоты.
Используйте T1text.set(" ")
а не T1text.set("")
поэтому при изменении текста не будет большой разницы в размере.
Вот пример кода:
import tkinter as Tk
root = Tk.Tk()
T1text = Tk.StringVar()
T1 = Tk.Button(root, textvariable = T1text,font = ("Helvetica", 30) ,bg="red")
T1.grid(row = 1, column = 0)
T1text.set(" ")
root.mainloop()
Вот еще один пример кода, который изменяет текст при нажатии:
import tkinter as Tk
root = Tk.Tk()
def upd():
print(str(T1text.get()))
T1text.set("O" if str(T1text.get()) == "X" or str(T1text.get()) == " " else "X")
T1text = Tk.StringVar()
T1 = Tk.Button(root, textvariable = T1text,font = ("Helvetica", 30) ,bg="red",command=upd)
T1.grid(row = 1, column = 0)
T1text.set(" ")
root.mainloop()
Вы можете изменить размер шрифта как можно меньше или меньше!