TUTORIAL · Tkinter

Tkinter 教程 - 訊息框

本教程文章介紹 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 訊息框_基本示例

from tkinter import messagebox

我們需要從 tkinter 匯入 messagebox。

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

showinfo 是 messagebox 中的顯示函式之一。它在訊息框中顯示資訊,其中 Basic Example 是標題,a Basic Tk MessageBox 是所顯示的資訊。

Tkinter messagebox 中的顯示函式是

顯示函式 描述
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 訊息框_警告示例

Tkinter 訊息 Box_Error 示例

Tkinter 訊息框_askquestion

Tkinter 訊息框_askyesno

Tkinter 訊息框_askretrycancel

Tkinter 訊息框_askokcancel

GUI 中的 Tkinter 訊息框示例

上面的訊息框示例給我們展示了 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()

我們將構造訊息框的函式 ExitApp() 繫結到按鈕 buttonEg。

if MsgBox == 'yes':

在 askquestion 訊息框中,單擊的選項的返回值是 yes 或 no。

後續的操作可能是關閉應用程式,顯示另一個訊息框,或者其他已定義的行為。

Tkinter 訊息框_繫結到一個按鈕