【Python】Tkinter を使ってみる

Uncategorized
560 words

Tkinter とは、Python で GUI を組むことのできるツールキットです。

これによって,Python で 画面を表示することができます。

準備

Tkinter をインストール

Tkinter は、Python に付いてくるので別途不要でした。

例題

よく使う機能を紹介します。

1. GUI アプリケーションを作成

1
2
3
4
5
6
7
8
# Tkinter パッケージ を インポート
import tkinter
# ウィンドウを作成
window = tkinter.Tk()
# タイトルを設定
window.title("Welcome to LikeGeeks app")
# mainloop関数を呼び出し、ユーザーの操作を待ちます。
window.mainloop()

結果は次のようになります。

2.ラベルウィジェットの追加

1
2
3
4
5
6
7
8
9
10
11
12
# Tkinter パッケージ を インポート
import tkinter
# ウィンドウを作成
window = tkinter.Tk()
# タイトルを設定
window.title("Welcome to LikeGeeks app")
# ラベルを作成
lbl = tkinter.Label(window, text="Hello", font=("Arial Bold", 50))
# grid関数を使って、表示位置を指定
lbl.grid(column=0, row=0)
# mainloop関数を呼び出し、ユーザーの操作を待ちます。
window.mainloop()

結果は次のようになります。

3.ウィンドウサイズの設定

1
2
# geometry関数を使って、ウィンドウサイズを設定
window.geometry('350x200')

結果は次のようになります。

4.ボタンウィジェットの追加

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# Tkinter パッケージ を インポート
import tkinter
from tkinter import messagebox
# ウィンドウを作成
window = tkinter.Tk()
# タイトルを設定
window.title("Welcome to LikeGeeks app")
# geometry関数を使って、ウィンドウサイズを設定
window.geometry('350x200')
# ラベルを作成
lbl = tkinter.Label(window, text="Hello", font=("Arial Bold", 50))
# grid関数を使って、表示位置を指定
lbl.grid(column=0, row=0)
# ボタンクリックイベント
def clicked():
tkinter.messagebox.showinfo('info',"Button was clicked !!")
# ボタンを作成
btn = tkinter.Button(window, text="Click Me", bg="gray", fg="white", command=clicked)
# grid関数を使って、表示位置を指定
btn.grid(column=0, row=1)
# mainloop関数を呼び出し、ユーザーの操作を待ちます。
window.mainloop()

結果は次のようになります。

ボタンを押すと、メッセージボックスが表示されます。

5.画像の表示

Pillow(PIL) モジュール のインストール

Pillow は画像処理関係のツール類が含まれています。

1
pip install pillow

画像の表示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import tkinter
from PIL import Image, ImageTk
# ウィンドウを作成
window = tkinter.Tk()
# タイトルを設定
window.title("Welcome to LikeGeeks app")
# geometry関数を使って、ウィンドウサイズを設定
window.geometry('800x600')
# 画像読み込み
img = Image.open('python-logo.png')
img = ImageTk.PhotoImage(img)
# キャンバスの作成
canvas = tkinter.Canvas(width=800, height=600)
canvas.place(x=0, y=0)
# キャンバスに画像を設定
canvas.create_image(10, 10, image=img, anchor=tkinter.NW)
# mainloop関数を呼び出し、ユーザーの操作を待ちます。
window.mainloop()

参考

https://likegeeks.com/python-gui-examples-tkinter-tutorial/

https://qiita.com/nnahito/items/ad1428a30738b3d93762