Tkinter チュートリアル - ラベル Label
Label
ラベルウィジェットは、静的なテキスト文字列または画像を表示します。一般に、そのコンテンツは動的ではないはずです。もちろん、必要に応じてその内容を変更できます。
Python Tkinter ラベルウィジェット
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label")
labelExample.pack()
app.mainloop()
プログラムが実行されると、メインウィンドウ内にテキストラベルを持つウィンドウを生成します。
labelExample = tk.Label(app, text="This is a label")
labelExample
は、メインウィンドウ app
内の This is a label
を表示します。Label インスタンスです。
labelExample.pack()
pack()
メソッドは、メインウィジェット内の特定のウィジェットのレイアウトを管理します。以下のオプションがあります
pack() 方法 |
説明 |
---|---|
after=widget |
ウィジェットをパックした後にパックする |
anchor=NSEW (or subset) |
に従ってウィジェットを配置する |
before=widget |
ウィジェットをパックする前にパックします |
expand=bool |
親のサイズが大きくなったらウィジェットを展開します |
fill=none or x or y or both |
ウィジェットが大きくなったらウィジェットを埋める |
in=master |
マスターを使用してこのウィジェットを含める |
in_=master |
in オプションの説明を参照してください |
ipadx=amount |
x 方向に内部パディングを追加します |
ipady=amount |
y 方向に内部パディングを追加します |
padx=amount |
x 方向にパディングを追加します |
pady=amount |
y 方向にパディングを追加します |
side=top or bottom or left or right |
このウィジェットを追加する場所。 |
オプションを変更して、異なるラベルウィジェットレイアウトを取得できます。
ラベルのサイズは、ラベルのウィジェットのオプションに属する幅と高さで指定されます。
dict(label)
を通じてラベルオブジェクトのすべての属性を一覧表示します。ことができます。
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
from pprint import pprint
app = tk.Tk()
labelExample = tk.Label(app, text="This is a Label", height=15, width=100)
pprint(dict(labelExample))
プロパティは以下のとおりです
{'activebackground': 'SystemButtonFace',
'activeforeground': 'SystemButtonText',
'anchor': 'center',
'background': 'SystemButtonFace',
'bd': <pixel object at 00000000048D1000>,
'bg': 'SystemButtonFace',
'bitmap': '',
'borderwidth': <pixel object at 00000000048D1000>,
'compound': 'none',
'cursor': '',
'disabledforeground': 'SystemDisabledText',
'fg': 'SystemButtonText',
'font': 'TkDefaultFont',
'foreground': 'SystemButtonText',
'height': 15,
'highlightbackground': 'SystemButtonFace',
'highlightcolor': 'SystemWindowFrame',
'highlightthickness': <pixel object at 00000000048FF100>,
'image': '',
'justify': 'center',
'padx': <pixel object at 00000000048FED40>,
'pady': <pixel object at 00000000048FF0D0>,
'relief': 'flat',
'state': 'normal',
'takefocus': '0',
'text': 'This is a Label',
'textvariable': '',
'underline': -1,
'width': 100,
'wraplength': <pixel object at 00000000048FED70>}
ラベルのすべての属性を知ったら、ラベルを変更することで異なるラベルの外観を得ることができます。
Python ラベルフォントの変更
下の例を使って、ラベルの中の文字のフォントを変えてもいいです。
Tkinter Label_Set Text Font.py
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
import tkFont
app = tk.Tk()
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", font=("Times", 20, "italic"))
labelFont3 = tkFont.Font(
family="Helvetica", size=20, weight=tkFont.BOLD, underline=1, overstrike=1
)
labelExample3 = tk.Label(app, text="Customized Label 3", font=labelFont3)
labelExample1.pack()
labelExample2.pack()
labelExample3.pack()
app.mainloop()
タプルで Python Tkinter ラベルフォントを設定する
labelExample1 = tk.Label(app, text="Customized Label 1", font=("Times", 20))
labelExample2 = tk.Label(app, text="Customized Label 2", font=("Times", 20, "italic"))
フォント名タイプを最初の要素とし、サイズ、フォーマットは太字、斜体、下線または取り消し線などです。
tkFont
フォントオブジェクトで Python Tkinter ラベルフォントを設定する
labelFont3 = tkFont.Font(
family="Helvetica", size=20, weight=tkFont.BOLD, underline=1, overstrike=1
)
labelExample3 = tk.Label(app, text="Customized Label 3", font=labelFont3)
tkFont
モジュールのフォントオブジェクトを使用して、ラベルテキストのフォントプロパティを指定することもできます。
labelExample3
のフォントタイプは、Helvetica のフォントファミリで、20 号、太字、下線と太字 1 の削除ラインがあります。
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
import tkFont
from pprint import pprint
app = tk.Tk()
pprint(tkFont.families())
Python Tkinter ラベルの色を変更
fg
と bg
プロパティを使用して、ラベルの前景色と背景色を変更できます。
labelExample1 = tk.Label(app, text="Customized Color", bg="gray", fg="red")
Python Tkinter ラベルで画像を表示
label
の image
プロパティは、ラベルに画像を表示します。ために使用できます。
from sys import version_info
if version_info.major == 2:
import Tkinter as tk
elif version_info.major == 3:
import tkinter as tk
app = tk.Tk()
logo = tk.PhotoImage(file="python.gif")
labelExample = tk.Label(app, image=logo)
labelExample.pack()
app.mainloop()
tk.PhotoImage
は GIF、PPM/PGM のタイプのカラー画像のみを表示できました。
他のタイプの画像を使用すると、_tkinter.TclError
を生成します:_tkinter.TclError: couldn't recognize data in image file