Tkinter fontの設定方法

  • 2023年8月30日
  • 2023年8月30日
  • Tkinter
Tkinter fontの設定方法

Tkinterのfontについて解説します。

自身の環境で使えるフォントファミリーの調べ方はコチラの記事を参考にして下さい。

Tkinterで使用できるフォントファミリーを表示させるスクリプトの紹介

Tkinterでfontを設定する方法

アプリ全体のfontを一括していする

fontはTkinterにおけるオプションの一つです。
Tkinterは各オプションに予めデフォルトの値が割り振られています。
このデフォルトの値を変更するにはoption_add()メソッドを使用します。
下記コードはoption_add()を使用してアプリ全体のfontを変更するサンプルコードです。

import tkinter as tk

root = tk.Tk()
root.option_add('*font', ('Arial Black', 20))

button= tk.Button(root, text="漢字ひらがな012",)
button.pack()

root.mainloop()

このコードはrootに対してroot.option_add(‘*font’, (‘Arial Black’, 20))
でフォントファミリーとフォントのサイズをオプション指定しています。

option_add()メソッドでfontのオプションを設定するには
option_add(’*font’, (‘family’, size, weight, slant, underline, overstrike))と書きます。
内’family’は必須です。フォントファミリーを文字列として指定します。

後述するFontクラスを使わない限りキーワード指定は出来ず、位置指定で指定する事になります。
fontの情報はタプルでまとめて指定します。

ヴィジェット毎に指定する

ヴィジェット毎にオプションを指定するにはキーワード引数を
font=(フォントの情報)
とタプルで指定します。下記サンプルコードになります。

import tkinter as tk

root = tk.Tk()

button_a= tk.Button(root, text="漢字ひらがな012")
button_a.pack()

button_b= tk.Button(root, text="漢字ひらがな012", font=('Arial Black', 20))
button_b.pack()

root.mainloop()

Fontクラスを使用する

Font情報をまとめることが出来るFontクラスを使用するにはtkinter.fontをインポートする必要があります。

Fontクラスで使用してFont情報をインスタンス化して使用するサンプルコード

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(family='Arial Black', size=20)

button= tk.Button(root, text="漢字ひらがな012", font=font_pattern)
button.pack()

root.mainloop()

Fontクラスを使う事でFontクラスが持っているメソッドを使用する事ができますが、あまり使う事がありませんので割愛します。

font情報の詳細

font情報の詳細です。

family

フォントファミリーを指定します。何も設定していない(デフォルト状態)のフォントファミリーを調べるにはFontクラスのactual()メソッドを使用するのが簡単です。

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(family='')
print(font_pattern.actual("family"))

root.mainloop()

上記コードでデフォルトのfamilyが出力されます

Fontクラスを使用する場合はfamily=’フォント名’で指定できます。
Fontクラスを使用しない場合は情報を格納するタプル内で1番目に指定します。

size

フォントの大きさをpointで指定します。デフォルトの数値は12になっています。
デフォルトのsizeを調べるサンプルコード

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(family='')

# button= tk.Button(root, text="漢字ひらがな012", font=font_pattern)
# button.pack()
print(font_pattern.actual("size"))

root.mainloop()

Fontクラスを使用する場合はsize=整数で指定できます。
Fontクラスを使用しない場合は情報を格納するタプル内で2番目に整数で指定します。

weight

値をboldにする事で文字を太字にする事ができます。

Fontクラスを使用する場合はweigth=”bold”で指定できます。
Fontクラスを使用しない場合は情報を格納するタプル内で3番目以降に”bold”を追加する事で指定できます。指定しない場合は太字にはなりません。

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(weight="bold")

button= tk.Button(root, text="漢字ひらがな012", font=font_pattern)
button.pack()

root.mainloop()

slant

値をitalicにする事で文字を斜体にする事ができます。

Fontクラスを使用する場合はslant=”italic”で指定できます。
Fontクラスを使用しない場合は情報を格納するタプル内で3番目以降に”italic”を追加する事で指定できます。指定しない場合は斜体にはなりません。

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(slant="italic")

button= tk.Button(root, text="漢字ひらがな012", font=font_pattern)
button.pack()

root.mainloop()

underline

文字に下線を引きます。

Fontクラスを使用する場合はunderline=Trueで指定できます。
また、underline=1でも指定する事ができ、underline=”true”でも可能です。
Fontクラスを使用しない場合は情報を格納するタプル内で3番目以降に”underline”を追加する事で指定できます。指定しない場合は下線は引かれません。

import tkinter as tk
import tkinter.font

root = tk.Tk()

font_pattern = tkinter.font.Font(underline=True)

button= tk.Button(root, text="漢字ひらがな012", font=font_pattern)
button.pack()

root.mainloop()

overstrike

文字に打ち消し線を入れる事ができます。

Fontクラスを使用する場合はoverstrike=Trueで指定できます。
また、overstrike=1でも指定する事ができ、overstrike=”true”でも可能です。
Fontクラスを使用しない場合は情報を格納するタプル内で3番目以降に”overstrike”を追加する事で指定できます。指定しない場合は下線は引かれません。

 data-src=

プログラミング情報サイト「In-Output」

当サイトではプログラミング言語の情報を発信しています。
HTMLやCSSのマークアップ言語の学習方法や解説、WordPressでのサイト開設方法、python等のプログラミング言語を使用して日頃の作業の効率化等、皆様のお役に立てるサイトを目指しています。

CTR IMG