TUTORIAL · Tkinter

Tkinter チュートリアル - メッセージボックス Messagebox

このチュートリアル記事では、Python Tkinter のメッセージボックスを紹介します。

このページの内容

Tkinter のメッセージボックス は画面に表示されるポップアップであり、プレーンテキスト情報を提供したり、ユーザーに Are you sure to quit? Yes or No? のような質問をしたりします。

Tkinter メッセージボックス

#!/usr/bin/python3
import tkinter as tk
from tkinter import messagebox

messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")

Tkinter メッセージ Box_Basic の例

from tkinter import messagebox

tkinter から messagebox をインポートする必要があります。

messagebox.showinfo("Basic Example", "a Basic Tk MessageBox")

showinfo は messagebox の表示関数の 1つです。メッセージボックスに情報が表示されます。Basic Example はタイトルで、a Basic Tk MessageBox は表示されている情報です。

Tkinter の表示関数は、

ショー機能 説明
showinfo プレーンインフォマーション
showwarning 警告情報
showerror エラー情報
askquestion ユーザーに質問する
askokcancel 答えは ok と cancel です
askyesno 答えは yes と no です
askretrycancel 答えは retry と cancel です

Tkinter メッセージボックスの例

import tkinter as tk
from tkinter import messagebox

messagebox.showwarning("Warning Example", "Warning MessageBox")

messagebox.showerror("Error Example", "Error MessageBox")

messagebox.askquestion("Ask Question Example", "Quit?")

messagebox.askyesno("Ask Yes/No Example", "Quit?")

messagebox.askokcancel("Ask OK Cancel Example", "Quit?")

messagebox.askretrycancel("Ask Retry Cancel Example", "Quit?")

Tkinter メッセージ Box_Warning の例

Tkinter メッセージ Box_Error の例

Tkinter メッセージ Box_askquestion

Tkinter メッセージ Box_askyesno

Tkinter メッセージ Box_askretrycancel

Tkinter メッセージ Box_askokcancel

GUI の Tkinter メッセージボックスの例

上記の例は、最初の印象を与えるためのメッセージボックスを示しています。しかし、通常のメッセージボックスはユーザがボタンをクリックした後にイジェクトされます。

ユーザーがメッセージボックスのさまざまなオプションをクリックした後に、ボタンクリックとアクションまたはコマンドでメッセージボックスをバインドする方法を紹介します。

import tkinter as tk
from tkinter import messagebox

root = tk.Tk()
root.geometry("300x200")


def ExitApp():
    MsgBox = tk.messagebox.askquestion("Exit App", "Really Quit?", icon="error")
    if MsgBox == "yes":
        root.destroy()
    else:
        tk.messagebox.showinfo("Welcome Back", "Welcome back to the App")


buttonEg = tk.Button(root, text="Exit App", command=ExitApp)
buttonEg.pack()

root.mainloop()

メッセージボックスを作成する関数 ExitAp() をボタン buttonEg に結びつけます。

if MsgBox == 'yes':

askquestion メッセージボックスで、クリックしたオプションの戻り値は yes または no です。

次のアクションは、アプリを閉じて、別のメッセージボックスまたは定義された他の動作を表示します。ことです。

Tkinter メッセージ Box_Bond to a button