Tkinter库的学习记录10-Message与Messagebox
10、Message与Messagebox主要讲解消息Message和系统内建的8个消息对话框Messagebox。10-1 Message10-1-1 Message的基本概念Widget控件中的Message主要是可以显示短消息它的功能与Label类似但是使用起来更灵活可自动分行。对于一些不想再做进一步编辑的短文可以使用Message显示。Message的构造方法如下。Message(父对象, options)参数一同上其它option参数()(1) anchor如果空间大于所需时控制消息的位置默认是CENTER(居中)Literal[nw, n, ne, w, center, e, sw, s, se]表示东南西北注意使用小写anchor“se”使用大写anchorSE(2) aspect控件宽度与高度比默认是150%。(3) bg或background背景色彩。(4) bitmap使用默认位图当作Message内容。系统默认的图标error、hourglass、info、questhead、question、warning、gray12、gray25gray50、gray75。(5) cursor当鼠标光标在Message上方时的外形。(6) ffg或foreground字形色彩。(7) font可选择字形、字形样式与大小。(8) heightMessage高度单位是字符。(9) imageMessage以图像方式呈现。(10) justify存在多方文本时最后一行的对齐方式可取值有LEFT / CNETER / RIGHT(靠左/居中/靠右)默认是居中对齐。(11) padx/padyMessage文字与边框的间距单位是像素。.padx可以设置标签文字左右边界与标签区间的x轴间距pady可以设置标签文字上下(12) relief默认是reliefFLAT可由此控制文字的外框。(13) textMessage内容如果有“\n” 则可输入多行文字。(14) textvariable可以设置Message以变量方式显示。(15) underline可以设置第几个文字有下画线从0开始算起默认是-1表示无下画线。(16) widthMessage宽度单位是字符(17) wraplength文本到多少宽度后换行单位是像素。下面程序实例Message的基本应用。from tkinter import * root Tk() root.title(ch10_1) myText 2026年6月小明一个人顶了车票和机票开始了他的西藏之旅。 msg Message(root, bgyellow, textmyText, fonttimes 12 italic) msg.pack(padx10, pady10) root.mainloop()执行结果10-1-2 使用字符串变量处理text参数本节以实例直接介绍。下面程序实例以字符串变量方式处理Message()内的text。from tkinter import * root Tk() root.title(ch10_2) var StringVar() msg Message(root, textvariablevar, reliefRAISED) var.set(2026年6月小明一个人顶了车票和机票开始了他的西藏之旅。) msg.pack(padx10, pady10) root.mainloop()执行结果扩充上面实例将背景设为黄色。from tkinter import * root Tk() root.title(ch10_3) var StringVar() msg Message(root, textvariablevar, reliefRAISED) var.set(2026年6月小明一个人顶了车票和机票开始了他的西藏之旅。) msg.config(bgyellow) msg.pack(padx10, pady10) root.mainloop()执行结果10-2 MessageboxPython中的tkinter模块内有Messagebox模块提供了8个对话框这些对话框可以应用在不同场合本节将做说明。(1) showinfo(title, message, options)显示一般提示消息。(2) showwraning(title, message, options)显示警告消息。(3) showerror(title, message, options)显示警告消息。(4) askquestion(title, message, options)显示问询消息。若单击“是”按钮会传回“yes”若单击“否”按钮会传回“no”。(5) askokcancel(title, message, options)显示确定或取消消息。若单击“确定”按钮会传回True若单击“取消”按钮会传回False。(6) askyesno(title, message, options)显示“是或否”消息。若单击“是”按钮会传回True若单击“否”按钮会传回False。(7) askyesnocancel(title, message, options)显示“是或否或取消”消息。若单击“是”按钮会传回True若单击“否”按钮会传回False若单击“取消”按钮会传回None。(8) askretrycancel(title, message, options)显示“重试或取消”消息。若单击“重试”按钮会传回True若单击“取消”按钮会传回False。上述对话框方法内的参数大致相同title是对话框的名称message是对话框内的文字options是选择性参数可能值有下列三种。(1) default(constant)默认按钮是OK确定、Yes是、Retry重试在前面也可更改此设定。(2) icon(constant)可设定所显示的图标有INFO、ERROR、QUESTION、WRANNING 4种图标可以设置。(3) parent(widget)指出当对话框关闭时焦点窗口将返回此父窗口。最后要留意的是上述对话框是放在tkinter模块内message模块下所以若是要使用这些默认的对话框需要在程序开头增加下列导入语句。from tkinter import message下面程序实例对话框设计的基本应用。from tkinter import * from tkinter import messagebox def myMsg(): messagebox.showinfo(My Message Box, Python Tkinter学习) root Tk() root.title(ch10_4) root.geometry(300x160) Button(root, textGood Moring, commandmyMsg).pack() root.mainloop()执行结果使用Messagebox时可以很容易建立和用户之间的对话当用户单击按钮时所响应的内容虽然已经说明过了但是下面还是以设计程序行演示出用户单击功能按钮时所传回的信息。下面程序实例设计两个按钮当单击按钮时会弹出对话框当用户有响应时在Python Shell窗口中列出所响应的内容。from tkinter import * from tkinter import messagebox def myMsg1(): ret messagebox.askretrycancel(Test1, 安装失败再试一次) print(安装失败, ret) def myMsg2(): ret messagebox.askyesnocancel(Test2, 编辑完成是或否或取消) print(编辑完成, ret) root Tk() root.title(ch10_5) root.geometry(300x160) Button(root, text安装失败, commandmyMsg1).pack() Button(root, text逻辑完成, commandmyMsg2).pack() root.mainloop()执行结果 下面是两个实测结果。有了用户单击按钮的传回值就可以针对返回值做更进一步的操作了。

相关新闻

3种无线方案对比:STM32智能家居 Zigbee vs WiFi vs LoRa 实测选型指南

3种无线方案对比:STM32智能家居 Zigbee vs WiFi vs LoRa 实测选型指南

3种无线方案对比:STM32智能家居 Zigbee vs WiFi vs LoRa 实测选型指南在构建基于STM32的智能家居系统时,无线通信技术的选择往往成为项目成败的关键。面对市场上主流的Zigbee、WiFi和LoRa三种方案,工程师们常常陷入选择困境——每种技术都有其…

2026/7/11 1:33:48阅读更多 →
S7-1200 V4.5 与 MCGS Pro 3.2 以太网通讯:5步完成数据块映射与变量绑定

S7-1200 V4.5 与 MCGS Pro 3.2 以太网通讯:5步完成数据块映射与变量绑定

S7-1200 V4.5与MCGS Pro 3.2以太网通讯:从零构建工业级数据交互系统在工业自动化领域,PLC与触摸屏的高效通讯如同设备的"神经系统",而S7-1200与MCGS Pro的组合正成为中小型自动化项目的黄金搭档。本文将彻底解析两者间的以太网通讯…

2026/7/11 1:28:48阅读更多 →
OmenSuperHub技术深度解析:暗影精灵笔记本底层硬件控制与性能优化解决方案

OmenSuperHub技术深度解析:暗影精灵笔记本底层硬件控制与性能优化解决方案

OmenSuperHub技术深度解析:暗影精灵笔记本底层硬件控制与性能优化解决方案 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSup…

2026/7/11 1:28:48阅读更多 →
服装产品迭代收益模拟程序,季度小改良,年度大改版两种创新节奏利润对比。

服装产品迭代收益模拟程序,季度小改良,年度大改版两种创新节奏利润对比。

时尚产业与品牌创新:服装产品迭代收益模拟程序 一、实际应用场景描述 在时尚产业中,服装品牌需要不断进行产品创新以保持市场竞争力。产品迭代通常分为两种节奏: 1. 季度小改良:针对当季流行趋势进行小幅调整(如颜色、…

2026/7/11 4:09:01阅读更多 →
企业AI可见度公益评测正式启动

企业AI可见度公益评测正式启动

为贯彻落实《工业和信息化部办公厅关于做好2026年工业和信息化质量工作的通知》有关部署,引导企业进一步加强“中国制造”品牌培育推广,破解企业在品牌建设中面临传播辨识度不足、认知度薄弱、信息不对称等共性痛点,中国工业互联网研究院正式…

2026/7/11 4:09:01阅读更多 →
Bubble Tea:用 Go 构建终端应用的框架

Bubble Tea:用 Go 构建终端应用的框架

文章目录Bubble Tea:用 Go 构建终端应用的框架核心结构示例代码安装配套生态实际应用适用场景Bubble Tea:用 Go 构建终端应用的框架 Charm 团队开源的 Bubble Tea 目前已获得 43,464 个 Star: Bubble Tea 是一个 Go 语言框架,专注…

2026/7/11 4:09:01阅读更多 →
HDFS 数据写入性能调优:3 个关键配置参数与吞吐量实测对比

HDFS 数据写入性能调优:3 个关键配置参数与吞吐量实测对比

HDFS 数据写入性能调优实战:关键参数解析与吞吐量优化指南在当今数据驱动的商业环境中,Hadoop分布式文件系统(HDFS)作为大数据生态系统的基石,其写入性能直接影响着整个数据处理管道的效率。本文将深入剖析影响HDFS写入性能的三大核心参数&am…

2026/7/11 4:09:01阅读更多 →
Claude Code大型代码库记忆系统重构指南

Claude Code大型代码库记忆系统重构指南

1. 为什么大型代码库必须重构Claude Code的记忆系统我第一次在接手一个20万行的VueSpring Boot混合单体项目时,直接把Claude Code往根目录一丢,结果它连npm run build和./gradlew build该用哪个都分不清。更糟的是,它反复把TypeScript接口写成…

2026/7/11 4:09:01阅读更多 →
OpenClaw双轨部署:打通计算巢与本地开发的Skills协同体系

OpenClaw双轨部署:打通计算巢与本地开发的Skills协同体系

1. 项目概述:为什么2026年OpenClaw部署必须同时打通计算巢与本地双轨2026年,OpenClaw已不再是那个需要手动敲几十行命令、改七八个配置文件才能跑起来的实验性工具。它正快速演进为一个真正可落地的企业级AI代理平台——但这个“可落地”,恰恰…

2026/7/11 4:04:00阅读更多 →
从GitHub安全案例解析常见漏洞与防护实践

从GitHub安全案例解析常见漏洞与防护实践

1. 项目概述:从GitHub Trending看安全实战 最近在GitHub Trending上看到一个项目,叫 skills4/skills ,它因为一些安全漏洞案例被大家讨论。这其实是一个挺典型的场景:一个旨在展示或教授某种技能的仓库,本身却成了安…

2026/7/10 12:10:00阅读更多 →
MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

MLT 2026启示:因果推理与概率建模驱动下一代LLM应用

# MLT 2026启示:因果推理与概率建模驱动下一代LLM应用## 一、背景与挑战:从“黑箱预测”到“可信推理”2026年6月,第7届机器学习与趋势国际会议(MLT 2026)将在悉尼召开。会议议程中,“因果与可解释机器学习…

2026/7/10 12:29:21阅读更多 →
通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

通达OA SQL注入漏洞深度剖析:从手工注入到自动化利用与防御

1. 项目概述与漏洞背景最近在梳理一些历史OA系统的安全风险时,通达OA v11.6版本中的一个老漏洞又进入了我的视线。这个漏洞位于/general/bi_design/appcenter/report_bi.func.php文件中,是一个典型的SQL注入点。虽然这个漏洞的利用方式看起来并不复杂&am…

2026/7/10 4:59:05阅读更多 →
Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

Premiere Pro 2025安装失败原因与AGSIS验证绕过指南

1. 为什么2025版PR安装比以往更“磨人”?——从弹窗警告到路径陷阱的真实处境 Premiere Pro 2025版不是简单的一次版本迭代,它是一道分水岭。我从去年底开始帮影视工作室、高校剪辑实验室和自由职业者部署2025环境,累计处理了137台设备&#…

2026/7/11 0:03:43阅读更多 →
5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效

5款实用macOS系统优化工具:让你的Mac运行更流畅更高效 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-so…

2026/7/11 0:03:43阅读更多 →
5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南

5分钟完全掌握:ComfyUI ControlNet预处理器终极使用指南 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想要让AI图像生成真正听从你的指挥吗&…

2026/7/11 0:03:43阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/10 13:39:09阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/10 22:20:33阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/10 17:29:22阅读更多 →