python | tkinterの基本的な使い方をまとめる #1
- 2023.06.20
- Python

皆さん、こんにちは!
今回はpythonでGUI画面を作成する際に使用するtkinterの使い方を整理します。
Tkinterとは?
TkinterはPythonの標準ライブラリであり、GUI(グラフィカルユーザーインターフェース)アプリケーションを作成するためのツールキットです。
以下に、Tkinterの基本的な使い方を整理します。
基本の使い方
以下に基本的な記述方法をまとめます。
1:モジュールのインポート
Tkinterをインポートする: Tkinterモジュールをインポートします。
import tkinter as tk
2:ルートウィンドウを作成する
Tk()
クラスを使ってルートウィンドウを作成します。
root = tk.Tk()
root.title("画面1") #画面のタイトル
root.geometry("400x600") #画面のサイズ
3:ウィジェットを作成する
ウィンドウに表示するためのウィジェット(ボタン、ラベル、テキストボックスなど)を作成します。
textbox = tk.Text(root) #Textボックス
label = tk.Label(root, text="Hello, World!") #ラベル
button = tk.Button(root, text="Click Me!") #ボタン
slider = tk.Scale(root, from_=50, to=200, orient=tk.HORIZONTAL, label="スライダー") #スライダー
4:ウィジェットを配置する
pack()
、grid()
、place()
のいずれかのメソッドを使ってウィジェットを配置します。
textbox.pack()
label.pack()
button.pack()
slider.pack()
5:イベントハンドラを設定する
イベント(ボタンクリック、キー押下など)が発生したときに実行する関数を定義し、イベントハンドラとして設定します。
def button_click():
print("Button clicked!")
button2 = tk.Button(root, text="Click Me!", command=button_click)
button2.pack()
6:ウィンドウを表示する
mainloop()
メソッドを呼び出して、ウィンドウを表示し、イベントループを開始します。
root.mainloop()
これらの手順に従うと、基本的なTkinterアプリケーションを作成できます。
上記のまとめ
上記1~6のコードは以下のようになります。
import tkinter as tk
root = tk.Tk()
root.title("画面1") #画面のタイトル
root.geometry("400x600") #画面のサイズ
textbox = tk.Text(root) #Textボックス
label = tk.Label(root, text="Hello, World!") #ラベル
button = tk.Button(root, text="Click Me!") #ボタン
slider = tk.Scale(root, from_=50, to=200, orient=tk.HORIZONTAL, label="スライダー") #スライダー
textbox.pack()
label.pack()
button.pack()
slider.pack()
def button_click():
print("Button clicked!")
button2 = tk.Button(root, text="Click Me[2]!", command=button_click)
button2.pack()
root.mainloop()
メッセージボックス
messagebox
はTkinterモジュールに含まれるサブモジュールで、簡単にメッセージボックスを作成するための機能を提供します。
以下に、messagebox
を使用してメッセージボックスを表示する方法を示します。
1)messagebox
モジュールをインポートします。
from tkinter import messagebox
2)関数を使ってメッセージボックスを表示します。
showinfo()
、showwarning()
、showerror()
、askquestion()
、askokcancel()
、askyesno()
などの関数を用いてメッセージボックスを表示します。
以下はサンプルです。
from tkinter import messagebox
# 1:情報メッセージボックスを表示する例(OKボタンのみ)
messagebox.showinfo("情報", "これは情報メッセージです")
# 2:警告メッセージボックスを表示する例(OKボタンのみ)
messagebox.showwarning("警告", "これは警告メッセージです")
# 3:エラーメッセージボックスを表示する例(OKボタンのみ)
messagebox.showerror("エラー", "これはエラーメッセージです")
# 4:Yes/Noメッセージボックスを表示し、ユーザーの選択結果を取得する
result = messagebox.askyesno("確認", "処理を続行しますか?")
if result:
print("Yesが選択されました")
else:
print("Noが選択されました")
これらの例は、よく使用されるメッセージボックスの種類です。messagebox
モジュールには他にもいくつかの関数があり、さまざまな種類のメッセージボックスを作成できます。
必要に応じて、適切な関数を選択して使用してください。
ウィジェットの値を取得する
get()メソッドを用いることで値を取得することができます。
import tkinter as tk
from tkinter import messagebox
root = tk.Tk()
# テキストボックスの値を取得
def get_text():
text = text_box.get()
messagebox.showinfo("情報", "Textボックスの値\n「" + text + "」")
# テキストボックスを作成して配置
text_box = tk.Entry(root)
text_box.pack()
button = tk.Button(root, text="取得", command=get_text)
button.pack()
root.mainloop()
ウィジェットの値を書き換える
ウィジェット(例:テキストボックスなど)の値を書き換える方法は以下の通りです。
import tkinter as tk
counter = 0
def count_num():
global counter
counter = counter + 1
label["text"] = "処理回数:" +str(counter)
root = tk.Tk()
label = tk.Label(root, text="処理回数:" + str(counter))
button = tk.Button(root, text="カウント", command=count_num)
label.pack()
button.pack()
root.mainloop()
まとめ
ウィンドウやウィジェットの見た目や動作をカスタマイズするためには、さらに詳細な設定やオプションを学ぶ必要がありますが、これらの手順をマスターすれば、基本的なGUIアプリケーションを作成できるでしょう。
エラー: データの取得に失敗しました。
-
前の記事
Python x 読み上げ | 文字読み上げアプリを作ってみよう! 2023.06.18
-
次の記事
python | tkinterの基本的な使い方をまとめる #2 2023.06.23