Tkinter 教程 - 訊息框

Jinku Hu 2024年2月15日
  1. Tkinter 訊息框
  2. Tkinter 訊息框示例
  3. GUI 中的 Tkinter 訊息框示例
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")

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

Tkinter messagebox 中的顯示函式是

顯示函式 描述
showinfo 普通訊息
showwarning 警告資訊
showerror 錯誤資訊
askquestion 向使用者提問
askokcancel 答案是 okcancel
askyesno 答案是 yesno
askretrycancel 答案是 retrycancel

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 訊息框中,單擊的選項的返回值是 yesno

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

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

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook