Изменение размера шрифта в кнопке в tkinter при использовании текстовой переменной - PullRequest
0 голосов
/ 23 сентября 2018

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

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

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

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

1 Ответ

0 голосов
/ 24 сентября 2018

Несколько замечаний:

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...