在 Python 中更改文本小部件字体

Change Text Widget font in Python

我正在制作一个函数,每次调用时都会将文本小部件的大小增加 1。 我找不到找到小部件当前字体大小的方法。 我需要这样的东西:

textEntry.configure(font=(fontSize=fontSize+1))

如果您在不带任何参数的小部件上调用 .config(),它会 returns 一个包含当前配置的字典。因此,textEntry.config() 将为您提供 textEntry 小部件的字典,而 textEntry.config()['font'] 将为您提供与字体设置相关的值元组。假设您的 font 设置仅包含 个大小参数(例如 font=10

curSize = int(textEntry.config()['font'][-1])

会给你一个包含当前字体大小的整数

这是一个快速而肮脏的解决方案,但它适用于所有字体并且可以包含任何有效的字体参数。

def increaseSize():
    font = textEntry.cget('font')       #get font information
    info = font.split(' ')              #split it into chunks

    #find the font size entry
    for i in info:
        if i.isdigit():
            size = int(i)
            textEntry.config(font=font.replace(i, str(size + 1)))
            break