Python 3 – Tkinterのラベル(GUIプログラミング)

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ラベルの例

この例では、画面にラベルを表示しています。 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クロック

Tkinterの例をダウンロードする

Hope this helps!

Source link