python - 有没有办法有条件地改变 Tkinter GUI 中文本的大小?
问题描述
所以,我正在创建一个应用程序,它显示输入歌曲的歌词,但是,较长的歌曲不适合,所以如果它是较长的歌曲,我想缩小文本的大小。我不确定如何去做,所以任何帮助将不胜感激。
我尝试过使用条件,但是它似乎不起作用。
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")
解决方案
您可以使用 来测量文本文件的长度len()
,然后中断到修改字体大小的 elif 语句。例如
text = len(song)
if text < 20:
font_size = 20
elif text > 20 and < 40:
font_size = 15
ETC...
然后
song = Lable(root, text= song)
song.config(font = ("TkDefaultFont", font_size))
推荐阅读
- delphi - VirtualTreeView,同一节点中文本的不同颜色和形状
- excel - 将值从函数传递到子程序
- cordova - 在将登录与 MSAL 集成时在 Cordova Android 中面临问题
- r - 如何使用两个现有数据框创建新数据框?
- xml - 是否有任何类似于偏移量的函数可以应用于 VBA 中的集合?
- postgresql - Postgres 优化未能及早过滤窗口函数分区
- node.js - 在reactjs中获取数据时获取null
- r - 迭代:一次标记多个列
- javascript - 由异步函数定义的导出变量 - React Native
- javascript - 猫鼬 .save() 不是函数