2017-03-14 39 views
0

我正在製作一個函數,每次調用它時都會將文本小部件的大小增加1。 我無法找到找到小部件當前字體大小的方法。 我需要這樣的東西:在Python中更改文本小部件字體

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

看到http://stackoverflow.com/q/4072150/7432 –

+0

@BryanOakley這是遠遠超過我的回答簡潔 - 出色的工作,一如既往。 – asongtoruin

回答

0

這是一個快速和骯髒的解決方案,但它適用於所有字體整數並可以包含任何有效的字體參數。

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 
+0

非常感謝!這適用於我正在做的事情。 –

0

如果你調用上的小工具.config()不帶任何參數,它返回一個包含當前配置的字典。因此,textEntry.config()會爲您提供textEntry小部件的字典,而textEntry.config()['font']會爲您提供與您的字體設置相關的值的元組。假設你font設置僅由尺寸參數(例如font=10

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

會讓你包含當前字體大小

+0

我的字體由一個家庭和一個大小組成。 –

相關問題