Как изменить размер шрифта этикетки Tkinter

Jinku Hu 30 Январь 2023 18 Апрель 2020
  1. Измените размер шрифта текстовой метки
  2. Измените семейство шрифтов Tkinter Label Font
Как изменить размер шрифта этикетки Tkinter

В данном руководстве показано, как изменить размер шрифта Tkinter этикетки. Мы создаём две кнопки Increase и Decrease для увеличения/уменьшения размера шрифта текстовой метки.

Измените размер шрифта текстовой метки

Изменение размера шрифта этикетки

import tkinter as tk
import tkinter.font as tkFont
    
app = tk.Tk()

fontStyle = tkFont.Font(family="Lucida Grande", size=20)

labelExample = tk.Label(app, text="20", font=fontStyle)

def increase_label_font():
    fontsize = fontStyle['size']
    labelExample['text'] = fontsize+2
    fontStyle.configure(size=fontsize+2)

def decrease_label_font():
    fontsize = fontStyle['size']
    labelExample['text'] = fontsize-2
    fontStyle.configure(size=fontsize-2)
    
buttonExample1 = tk.Button(app, text="Increase", width=30,
                          command=increase_label_font)
buttonExample2 = tk.Button(app, text="Decrease", width=30,
                          command=decrease_label_font)

buttonExample1.pack(side=tk.LEFT)
buttonExample2.pack(side=tk.LEFT)
labelExample.pack(side=tk.RIGHT)
app.mainloop()
fontStyle = tkFont.Font(family="Lucida Grande", size=20)

Указываем семейство шрифтов Lucida Grande размером 20, и присваиваем ему шрифт этикетки labelExample.

def increase_label_font():
    fontsize = fontStyle['size']
    labelExample['text'] = fontsize+2
    fontStyle.configure(size=fontsize+2)

Размер шрифта обновляется методом tkinter.font.configure(). Виджет, который использует этот конкретный шрифт будет автоматически обновлен, как вы могли видеть из gif анимации.

labelExample['text'] = fontsize+2

Мы также обновляем текст этикетки, чтобы он совпадал с размером шрифта, что сделает анимацию более интуитивной.

Измените семейство шрифтов Tkinter Label Font

Мы также познакомим вас с тем, как изменить семейство шрифтов Tkinter label, нажав кнопку.

Семейство шрифтов для смены меток

import tkinter as tk
import tkinter.font as tkFont

app = tk.Tk()

fontfamilylist = list(tkFont.families())

fontindex = 0

fontStyle = tkFont.Font(family=fontfamilylist[fontindex])

labelExample = tk.Label(app, text=fontfamilylist[fontindex], font=fontStyle)

def increase_label_font():
    global fontindex
    fontindex = fontindex + 1
    labelExample.configure(font=fontfamilylist[fontindex], text=fontfamilylist[fontindex])
    
    
buttonExample1 = tk.Button(app, text="Change Font", width=30,
                          command=increase_label_font)


buttonExample1.pack(side=tk.LEFT)
labelExample.pack(side=tk.RIGHT)

    
app.mainloop()
fontfamilylist = list(tkFont.families())

Он получает список доступных семейств шрифтов Tkinter.

labelExample.configure(font=fontfamilylist[fontindex], text=fontfamilylist[fontindex])

Свойство шрифта labelExample изменится на следующий шрифт в списке font.families, а текст этикетки также будет обновлен до имени шрифта.

Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn

Сопутствующая статья - Tkinter Label

Сопутствующая статья - Tkinter Font