我正在製作一個函數,每次調用它時都會將文本小部件的大小增加1。 我無法找到找到小部件當前字體大小的方法。 我需要這樣的東西:在Python中更改文本小部件字體
textEntry.configure(font=(fontSize=fontSize+1))
我正在製作一個函數,每次調用它時都會將文本小部件的大小增加1。 我無法找到找到小部件當前字體大小的方法。 我需要這樣的東西:在Python中更改文本小部件字體
textEntry.configure(font=(fontSize=fontSize+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
非常感謝!這適用於我正在做的事情。 –
如果你調用上的小工具.config()
不帶任何參數,它返回一個包含當前配置的字典。因此,textEntry.config()
會爲您提供textEntry
小部件的字典,而textEntry.config()['font']
會爲您提供與您的字體設置相關的值的元組。假設你font
設置僅由尺寸參數(例如font=10
)
curSize = int(textEntry.config()['font'][-1])
會讓你包含當前字體大小
我的字體由一個家庭和一個大小組成。 –
看到http://stackoverflow.com/q/4072150/7432 –
@BryanOakley這是遠遠超過我的回答簡潔 - 出色的工作,一如既往。 – asongtoruin