Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(上)

简介: Python Tkinter 教程(四)—— 子模块 messagebox、colorchooser 以及 filedialog 的使用及技巧(万字详解)(上)

一、messagebox 子模块

一般用法

      messagebox 子模块的一般作用就是产生一个消息框,提供的消息框种类有 8 个,下面将一个一个介绍

【showinfo】

showinfo(title=None, message=None, **options)

信息提示消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】字符串对象

【提示音】信息提示音

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.showinfo('温馨提示', '您还没有给我点赞哦!\n记得点赞,不要忘记啦!')
print(type(return_value), return_value)
# <class 'str'> ok

效果展示

showinfo

【showwarning】

showwarning(title=None, message=None, **options)

警告提示消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】字符串对象

【提示音】信息提示音

代码示例

1. import tkinter.messageboximport tkinter.messagebox
return_value = tkinter.messagebox.showwarning('严重警告', '如果你还不给我点赞,你的电脑将收到病毒攻击!')
print(type(return_value), return_value)
# <class 'str'> ok

效果展示

showwarning

【showerror】

showerror(title=None, message=None, **options)

错误提示消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】字符串对象

【提示音】错误提示音

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.showerror('系统错误', '系统正在受到未知来源的病毒攻击!\n(ERROR_3X007)')
print(type(return_value), return_value)
# <class 'str'> ok

效果展示

showerror

【askquestion】

askquestion(title=None, message=None, **options)

一般询问消息框


【title】弹窗的标题


【message】字符串,要显示的信息


【options】其他选项,具体见高级操作


【返回值】字符串对象


【提示音】无


特别的,这个窗口无法点击关闭按钮,只能点击“是(Y)”或者“否(N)”


与 askyesno 的区别在于,该返回值为 str,而 askyesno 为 bool

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askquestion('是否点赞', '您要给我点赞是吗?')
print(type(return_value), return_value)
# <class 'str'> yes(点击是) no(点击否)

效果展示

askquestion

【askokcancel】

askokcancel(title=None, message=None, **options)

“确定取消”询问消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】布尔值

【提示音】无

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askokcancel('点赞确认', '是否给这篇博客点赞?')
print(type(return_value), return_value)
# <class 'bool'> True(点击确定) False(点击取消或关闭)

效果展示

askokcancel

【askyesno】

askyesno(title=None, message=None, **options)

“是否”询问消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】布尔值

【提示音】无

特别的,这个窗口无法点击关闭按钮,只能点击“是(Y)”或者“否(N)”

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askyesno('收藏确认', '是否收藏这篇博客?')
print(type(return_value), return_value)
# <class 'bool'> True(点击是) False(点击否)

效果展示

askyesno

【askyesnocancel】

askyesnocancel(title=None, message=None, **options)

“是否取消”询问消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】布尔值或者 None

【提示音】无

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askyesnocancel('支持', '是否点赞并收藏这篇博客?')
print(type(return_value), return_value)
# <class 'bool'> True(点击是) False(点击否) None(点击取消或关闭)

效果展示

askyesnocancel

【askretrycancel】

askretrycancel(title=None, message=None, **options)

“重试取消”询问消息框

【title】弹窗的标题

【message】字符串,要显示的信息

【options】其他选项,具体见高级操作

【返回值】布尔值

【提示音】信息提示音

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askretrycancel('提示', '运气不佳,白嫖失败!')
print(type(return_value), return_value)
# <class 'bool'> True(点击重试) False(点击取消或关闭)

效果展示

askretrycancel

高级操作

       高级操作呢,一般人是不知道的,只有看了子模块 messagebox 源代码的人才知道,为什么这么说呢,下面我们看看部分源代码就知道了

# tk common message boxes
# tk的常见消息框
# this module provides an interface to the native message boxes
# available in Tk 4.2 and newer.
# 该模块为Tk 4.2及更新版本中可用的本地消息框提供接口
# written by Fredrik Lundh, May 1997
# 作者:Fredrik Lundh,1997年5月
#
# options (all have default values):
# 参数(都有默认值)
# - default: which button to make default (one of the reply codes)
# 设置默认值的按钮(其中一个回复代码)
# - icon: which icon to display (see below)
# 要显示的图标(见下文)
# - message: the message to display
# 要显示的消息
# - parent: which window to place the dialog on top of
# 将对话框放置在哪个窗口的上面
# - title: dialog title
# 对话框标题
# - type: dialog type; that is, which buttons to display (see below)
# 对话框类型;也就是说,要显示哪些按钮(见下文)
# constants
# icons               【用于icon参数】
ERROR = "error"        # “错误”图标
INFO = "info"          # “信息”图标
QUESTION = "question"  # “询问”图标
WARNING = "warning"    # “警告”图标
# types                               【用于type参数】
ABORTRETRYIGNORE = "abortretryignore"  # 中止、重试、忽略  (3个按钮的模式)
OK = "ok"                              # 确定             (1个按钮的模式)
OKCANCEL = "okcancel"                  # 确定、取消       (2个按钮的模式)
RETRYCANCEL = "retrycancel"            # 重试、取消       (2个按钮的模式)
YESNO = "yesno"                        # 是、否           (2个按钮的模式)
YESNOCANCEL = "yesnocancel"            # 是、否、取消     (3个按钮的模式)
# replies         【用于default参数】
ABORT = "abort"    # 默认为“中止”按钮
RETRY = "retry"    # 默认为“重试”按钮
IGNORE = "ignore"  # 默认为“忽略”按钮
OK = "ok"          # 默认为“确定”按钮
CANCEL = "cancel"  # 默认为“取消”按钮
YES = "yes"        # 默认为“是”按钮
NO = "no"          # 默认为“否”按钮

# tk common message boxes

# tk的常见消息框

# this module provides an interface to the native message boxes

# available in Tk 4.2 and newer.

# 该模块为Tk 4.2及更新版本中可用的本地消息框提供接口

# written by Fredrik Lundh, May 1997

# 作者:Fredrik Lundh,1997年5月

 

#

# options (all have default values):

# 参数(都有默认值)

# - default: which button to make default (one of the reply codes)

# 设置默认值的按钮(其中一个回复代码)

# - icon: which icon to display (see below)

# 要显示的图标(见下文)

# - message: the message to display

# 要显示的消息

# - parent: which window to place the dialog on top of

# 将对话框放置在哪个窗口的上面

# - title: dialog title

# 对话框标题

# - type: dialog type; that is, which buttons to display (see below)

# 对话框类型;也就是说,要显示哪些按钮(见下文)

 

# constants

 

# icons               【用于icon参数】

ERROR = "error"        # “错误”图标

INFO = "info"          # “信息”图标

QUESTION = "question"  # “询问”图标

WARNING = "warning"    # “警告”图标

 

# types                               【用于type参数】

ABORTRETRYIGNORE = "abortretryignore"  # 中止、重试、忽略  (3个按钮的模式)

OK = "ok"                              # 确定             (1个按钮的模式)

OKCANCEL = "okcancel"                  # 确定、取消       (2个按钮的模式)

RETRYCANCEL = "retrycancel"            # 重试、取消       (2个按钮的模式)

YESNO = "yesno"                        # 是、否           (2个按钮的模式)

YESNOCANCEL = "yesnocancel"            # 是、否、取消     (3个按钮的模式)

 

# replies         【用于default参数】

ABORT = "abort"    # 默认为“中止”按钮

RETRY = "retry"    # 默认为“重试”按钮

IGNORE = "ignore"  # 默认为“忽略”按钮

OK = "ok"          # 默认为“确定”按钮

CANCEL = "cancel"  # 默认为“取消”按钮

YES = "yes"        # 默认为“是”按钮

NO = "no"          # 默认为“否”按钮

代码示例

import tkinter.messagebox
return_value = tkinter.messagebox.askyesnocancel('程序错误', '您可以选择终止程序的运行\n或者重新尝试运行\n或者忽略错误继续运行',
                                                 default=tkinter.messagebox.ABORT,
                                                 icon=tkinter.messagebox.ERROR,
                                                 type=tkinter.messagebox.ABORTRETRYIGNORE)

效果展示

                                           高级操作

还有其他的大家也可以积极尝试呀!

目录
相关文章
|
10月前
|
SQL 关系型数据库 数据库
Python SQLAlchemy模块:从入门到实战的数据库操作指南
免费提供Python+PyCharm编程环境,结合SQLAlchemy ORM框架详解数据库开发。涵盖连接配置、模型定义、CRUD操作、事务控制及Alembic迁移工具,以电商订单系统为例,深入讲解高并发场景下的性能优化与最佳实践,助你高效构建数据驱动应用。
1067 7
|
10月前
|
Java 调度 数据库
Python threading模块:多线程编程的实战指南
本文深入讲解Python多线程编程,涵盖threading模块的核心用法:线程创建、生命周期、同步机制(锁、信号量、条件变量)、线程通信(队列)、守护线程与线程池应用。结合实战案例,如多线程下载器,帮助开发者提升程序并发性能,适用于I/O密集型任务处理。
838 0
|
10月前
|
XML JSON 数据处理
超越JSON:Python结构化数据处理模块全解析
本文深入解析Python中12个核心数据处理模块,涵盖csv、pandas、pickle、shelve、struct、configparser、xml、numpy、array、sqlite3和msgpack,覆盖表格处理、序列化、配置管理、科学计算等六大场景,结合真实案例与决策树,助你高效应对各类数据挑战。(238字)
1306 0
|
10月前
|
JSON 算法 API
Python中的json模块:从基础到进阶的实用指南
本文深入解析Python内置json模块的使用,涵盖序列化与反序列化核心函数、参数配置、中文处理、自定义对象转换及异常处理,并介绍性能优化与第三方库扩展,助你高效实现JSON数据交互。(238字)
758 4
|
10月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
831 0
|
11月前
|
存储 数据库 开发者
Python SQLite模块:轻量级数据库的实战指南
本文深入讲解Python内置sqlite3模块的实战应用,涵盖数据库连接、CRUD操作、事务管理、性能优化及高级特性,结合完整案例,助你快速掌握SQLite在小型项目中的高效使用,是Python开发者必备的轻量级数据库指南。
861 0
|
11月前
|
安全 大数据 程序员
Python operator模块的methodcaller:一行代码搞定对象方法调用的黑科技
`operator.methodcaller`是Python中处理对象方法调用的高效工具,替代冗长Lambda,提升代码可读性与性能。适用于数据过滤、排序、转换等场景,支持参数传递与链式调用,是函数式编程的隐藏利器。
292 4
|
12月前
|
存储 安全 数据处理
Python 内置模块 collections 详解
`collections` 是 Python 内置模块,提供多种高效数据类型,如 `namedtuple`、`deque`、`Counter` 等,帮助开发者优化数据处理流程,提升代码可读性与性能,适用于复杂数据结构管理与高效操作场景。
651 0
|
数据安全/隐私保护 Python
抖音私信脚本app,协议私信群发工具,抖音python私信模块
这个实现包含三个主要模块:抖音私信核心功能类、辅助工具类和主程序入口。核心功能包括登录
|
Python
Python教程:os 与 sys 模块详细用法
os 模块用于与操作系统交互,主要涉及夹操作、路径操作和其他操作。例如,`os.rename()` 重命名文件,`os.mkdir()` 创建文件夹,`os.path.abspath()` 获取文件绝对路径等。sys 模块则用于与 Python 解释器交互,常用功能如 `sys.path` 查看模块搜索路径,`sys.platform` 检测操作系统等。这些模块提供了丰富的工具,便于开发中处理系统和文件相关任务。
621 14

推荐镜像

更多