Есть ли способ условно изменить размер текста в графическом интерфейсе Tkinter? - PullRequest
0 голосов
/ 22 марта 2019

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

Я пробовал использовать условное выражение, однако, похоже, оно не работает.

file = open(artist + song + ".txt", "r")
lyrics = file.read()
lines = file.readlines()
lyricsLabel = tk.Label(root, text = lyrics)

lyricsLabel.config(font = ("TkDefaultFont", 5))

lyricsLabel.grid(column = 0, row = 0)

if playSong == True:
    os.startfile(artist + song + ".mp3")

1 Ответ

0 голосов
/ 24 марта 2019

Вы можете измерить длину текстового файла с помощью len(), а затем перейти к выражениям elif, которые изменяют размер шрифта. например,

text = len(song)

if text < 20:
   font_size = 20
elif text > 20 and < 40:
   font_size = 15

и т.д ...

тогда

song = Lable(root, text= song)
song.config(font = ("TkDefaultFont", font_size))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...