Python 3 – Tkinter tkMessageBox

Python 3 – Tkinter tkMessageBox

Tkinter是Python中最受欢迎的界面工具包,广泛应用于各种GUI(图形用户界面)程序的开发。tkMessageBox是其中的一个常用模块,可以用于在Tkinter中生成简单的对话框。在本篇文章中,我们将了解如何使用Python 3中的Tkinter来实现消息提示框。

环境搭建与基础知识

在使用Tkinter进行开发之前,需要先确保Python安装了下列软件包:

  • Python 3.x版本
  • Tcl/Tk (8.5或更高版本)

在Mac和Linux系统上,Tcl/Tk通常是默认安装的,而在Windows系统上,需要从官网(https://www.activestate.com/products/tcl/downloads/)下载并安装。

在了解如何使用tkMessageBox之前,让我们先来了解一下Tkinter messagebox模块的特点:

  • 可以通过简单的函数调用(例如:messagebox.showinfo())在Tkinter中生成消息对话框。
  • 支持多种对话框类型,例如:信息框、警告框、错误框等等…

tkMessageBox常用函数

下面是tkMessageBox中常用的函数。在这些函数中,messagebox.showinfo()是使用最频繁的。

  • messagebox.showinfo(title,message): 显示一个普通的信息对话框,没有返回值。
  • messagebox.showwarning(title,message): 显示一个警告的对话框。
  • messagebox.showerror(title,message): 显示一个错误对话框。
  • messagebox.askquestion(title,message): 显示一个不确定的对话框,返回值’yes’或‘no’。
  • messagebox.askyesno(title,message):显示一个包含Ok和Cancel按钮的对话框,返回值True或False。
  • messagebox.askokcancel(title,message):显示一个包含Ok和Cancel按钮的对话框,返回值True或False。

代码示例:

import tkinter as tk  
from tkinter import messagebox  

root=tk.Tk()  
root.geometry("100x100")  
messagebox.showinfo(title="Info", message="Information box")  

root.mainloop() 

标题和对话框信息

messagebox.showinfo()函数可应用于所有类型的消息。可以使用该函数的两个参数: title表示对话框的标题, message表示对话框中的消息。

代码示例:

import tkinter as tk  
from tkinter import messagebox  

root=tk.Tk()  
root.geometry("100x100")  
messagebox.showinfo(title="Info", message="Information box")  

root.mainloop() 

如果向messagebox.showwarning()和messagebox.showerror()函数传递title和message参数,则将创建警告和错误框。

代码示例:

import tkinter as tk  
from tkinter import messagebox  

root=tk.Tk()  
root.geometry("100x100")  
messagebox.showwarning(title="Warning", message="This is a warning message!")  

root.mainloop() 

同样,代码示例:

import tkinter as tk  
from tkinter import messagebox  

root=tk.Tk()  
root.geometry("100x100")  
messagebox.showerror(title="Error", message="This is an error message!")  

root.mainloop() 

确认和取消选项

可以使用messagebox.askokcancel(),messagebox.askyesno()和messagebox.askquestion()函数在对话框中提供确认和取消选项。如果单击“确定(Ok)”按钮,则返回True;如果单击“取消(Cancel)”按钮,则返回False。在askyesno()和askquestion()函数中, ‘yes’和‘no’的返回值表示如果选择了“是(Yes)”选项,则为True,否则为False。 在此示例程序中,使用askquestion函数。

代码示例:

import tkinter as tk  
from tkinter import messagebox  

root=tk.Tk()  

response=messagebox.askquestion(title="Question", message="Do you want to continue?")  
if response == 'yes':  
    print("You clicked Yes!")  
else:  
    print("You clicked No!")  

root.mainloop() 

如果选择“Yes”选项,则显示出“It Works”;如果单击“No”选项,则显示出“Nothing Happened” 。

结论

Tkinter messagebox是Python GUI编程中一个非常有用的工具。 无论是在显示一般信息还是在弹出错误/警告对话框时,messagebox.showinfo(),messagebox.showwarning()和messagebox.showerror()函数都是十分有效的方法。

另外,还建议使用askokcancel()或askyesno()函数作为需要用户执行确认时的好选择。希望这篇文章能够使你更加了解Tkinter messagebox的常用函数,并在实际开发中有所帮助。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程