Pythonでボタンが押されたらメッセージボックスを表示する【Tkinter】
- 作成日: 2023-06-20
- 更新日: 2023-12-24
- カテゴリ: Python
Pythonでボタンが押された場合の処理
PythonのTkinterでボタンが押されたら何かを処理したい時があります。
そういう時はtk.Button
のcommand
引数に実行したい関数を指定します。
import tkinter as tk
def my_func():
print('クリックされました')
root = tk.Tk()
btn = tk.Button(root, text='Click!', command=my_func)
btn.pack()
root.mainloop()
上記のコードを実行するとウィンドウにボタンが表示されます。
ボタンをクリックすると端末に「クリックされました」と表示されます。
ボタンが押されたらメッセージボックスを表示する
Tkinterにはmessagebox
というモジュールがあります。
これを使うとメッセージボックスを表示することが可能です。
ボタンが押された場合にメッセージボックスを表示するには以下のようなコードを書きます。
import tkinter as tk
from tkinter import messagebox
def my_func():
messagebox.showinfo('OK', 'クリックされました')
root = tk.Tk()
btn = tk.Button(root, text='Click!', command=my_func)
btn.pack()
root.mainloop()
上記のコードを実行するとウィンドウにボタンが表示されます。
ボタンをクリックすると「クリックされました」というメッセージのメッセージボックスが表示されます。
messagebox.showinfo()
は第1引数にメッセージボックスのタイトル、第2引数にメッセージを指定します。
showinfo
は汎用的な情報を表示するためのメッセージボックスです。
ボタンが押されたらラベルのテキストを取得して表示する
ボタンと一緒にラベルを配置してボタンがクリックされたらラベルのテキストを取得したいとします。
そういう場合は以下のようなコードを書きます。
import tkinter as tk
from tkinter import messagebox
def my_func():
messagebox.showinfo('OK', label.cget('text'))
root = tk.Tk()
label = tk.Label(root, text='こんにちは')
label.pack()
btn = tk.Button(root, text='Click!', command=my_func)
btn.pack()
root.mainloop()
ラベルの配置はtk.Label
を使います。
ラベルのテキストはtext
引数に指定します。
label.cget('text')
でラベルのテキストの値を取得できます。
これでテキストを取得してmessagebox.showinfo()
で表示します。
ボタンが押されたらウィンドウを閉じる
ボタンが押されたときにウィンドウを閉じるには以下のようなコードを書きます。
import tkinter as tk
from tkinter import messagebox
def my_func():
root.destroy()
root = tk.Tk()
btn = tk.Button(root, text='Click!', command=my_func)
btn.pack()
root.mainloop()
root.destroy()
でウィンドウを閉じています。
上記のコードではボタンが押されたらウィンドウが終了します。