Изменение размера шрифта в кнопке в tkinter при использовании текстовой переменной

1

В настоящее время я заканчиваю простую игру 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("")

это создает логическую ошибку и делает массив массивным, что я могу даже видеть другие поля, и они отключены от экрана.

Я понятия не имею, что еще я мог бы попробовать, любая помощь была бы высоко оценена.

Спасибо Большое!

  • 0
    Это просто потому, что 70 очень большой, конечно? Попробуйте что-нибудь поменьше и экспериментируйте, пока не получите нужный размер.
Теги:
button
fonts
tkinter
text
size

1 ответ

0

Мало что нужно отметить:

  • Нет необходимости использовать параметр ширины и высоты при использовании шрифтов нестандартного размера, поскольку ширина и высота зависят от шрифта
  • Не устанавливайте значение по умолчанию для пустой строки, а установите ее в строку, содержащую два пробела
  • Размер шрифта слишком велик. Уменьшите его.

Я рекомендую изменить размер от 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()

Вы можете изменить размер шрифта как можно меньше или меньше!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню