田舎社会人のいろいろ学習記

Python、英語、その他いろいろ

【tkinter】Labelの使い方【Python】

f:id:vigilantPotato:20210522014430p:plain
Labelは文字列や画像を表示するためのウィジェットである。文字列だけでなく、画像も表示させることができる。


【スポンサーリンク】


Labelの概要

Labelは基本的に文字列を表示するウィジェットで、縁どり、文字の色、背景色、フォントを自由に設定して文字列を表示することができる。以下、例を示す。

import tkinter

root = tkinter.Tk()

#Labelの生成
l = tkinter.Label(
    root,
    text="tkinter label",   #表示文字
    )
l.pack()

#reliefの設定
l2 = tkinter.Label(
    root,
    text="relief = ridge",
    relief="ridge", #縁どり
    )
l2.pack()

#文字の色、背景色、フォントの設定
l3 = tkinter.Label(
    root,
    text="color, font, background",
    fg="white",     #文字の色
    bg="blue",      #背景色
    font="Times",   #フォント
    )
l3.pack()

root.mainloop()

textオプションに文字列を設定することで、Label上に設定した文字列が表示される。各オプションで縁の形状、文字の色、背景色、フォント等の設定ができる。以下、実行したときの画面を示す。

f:id:vigilantPotato:20210522014606p:plain

Labelに表示する値を動的に変更したい場合は、textvariableオプションを使用する。設定方法は以下の記事を参照。

[↑ 目次へ]


【スポンサーリンク】


画像の表示

Labelには、文字列だけでなく画像を表示させることができる。画像を読み込む際は、PhotoImageオブジェクトを作成し、それをLabelのimageオプションに設定する。また、compoundオプションを用いると画像の上に文字を重ねて表示することができる。以下、例を示す。

import tkinter

root = tkinter.Tk()

#imageの読み込み
load = tkinter.PhotoImage(file="label_writer.png")

#imageの設定
l_image = tkinter.Label(
    root,
    image=load,     #imageの設定
    )
l_image.pack()

#image、文字同時表示
l_image2 = tkinter.Label(
    root,
    compound=tkinter.CENTER,    #文字列の上書き設定
    text="Show image",          #表示する文字列
    fg="red",                   #文字の色
    image=load,                 #imageの設定
    )
l_image2.pack()

root.mainloop()

実行した結果を以下に示す。

f:id:vigilantPotato:20210522015100p:plain

PhotoImageオブジェクトで読み込んだ画像がLabel上に表示されている。下側の例では、compoundオプションで文字列を中央に表示するように設定している。

[↑ 目次へ]


【スポンサーリンク】


オプション・メソッド

主なオプション・メソッド 動作
background(bg) 背景色(green, black, yellow, cyan, magenta, red, blue, white等)
borderwidth(bd) 境界幅
relief 縁の3D表示設定(flat, raised, sunken, groove, ridge)
text 表示する文字列の設定
textvaliable variableで文字列を設定する場合に使用(通常StringVar)
foreground(fg) 文字の色の設定(green, black, yellow, cyan, magenta, red, blue, white等)
font フォントの設定(Times, Helvetica等)

[↑ 目次へ]


【スポンサーリンク】