tkinterラベルウィジェットを使用して、テキストまたは画像を画面に表示できます。 ラベルは、単一のフォントでのみテキストを表示できます。 テキストは複数行にまたがることができます。
ラベルには任意のテキストを配置でき、ウィンドウには複数のラベルを配置できます(ウィジェットをウィンドウに複数回配置できるのと同じように)。
関連コース: Tkinterを使用したPythonデスクトップアプリ
例
前書き
ラベルは2行のコードで追加できます。 最初の行は、ラベルとテキストを定義します。 2行目は、2次元の位置を設定します。
1 2
|
text = Label(self, text="Just do it") text.place(x=70,y=90)
|
ラベルのフォントの色またはサイズを変更できます。
1 2
|
label1 = Label(master, text="Tkinter", fg="red") label1 = Label(master, text="Helvetica", font=("Helvetica", 18))
|
tkinterラベルの例
この例では、画面にラベルを表示しています。 tkinterの有名な「helloworld」プログラムですが、テキストを変更することにしました。
ラベルウィジェットのサイズを指定しない場合、テキストに収まるだけの大きさになります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
from tkinter import *
class Window(Frame): def __init__(self, master=None): Frame.__init__(self, master) self.master = master self.pack(fill=BOTH, expand=1) text = Label(self, text="Just do it") text.place(x=70,y=90) root = Tk() app = Window(root) root.wm_title("Tkinter window") root.geometry("200x200") root.mainloop()
|
tkinterクロック
tkinterラベルは、ダブルバッファリングの手法を使用しています。 この手法は、更新時に画面がフリックするのを防ぎます。
毎秒更新される時計を言うことができますが、ちらつきは見られません。 この手法は現在かなり標準的であり、GUIウィンドウでのフリックは想定されていません。
時計は、次のようなタイマー関数を追加するだけです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
from tkinter import * import time
class App(Frame): def __init__(self,master=None): Frame.__init__(self, master) self.master = master self.label = Label(text="", fg="Red", font=("Helvetica", 18)) self.label.place(x=50,y=80) self.update_clock()
def update_clock(self): now = time.strftime("%H:%M:%S") self.label.configure(text=now) self.after(1000, self.update_clock)
root = Tk() app=App(root) root.wm_title("Tkinter clock") root.geometry("200x200") root.after(1000, app.update_clock) root.mainloop()
|
これは、自動的に更新されるこの時計を示しています。
Tkinterの例をダウンロードする
Hope this helps!
Source link