Python基于tkinter.messagebox实现简易消息框、对话框

本文分享了使用Python自带库Tkinter实现简易对话框的方法,包括提示框与多种对话框的使用,通过隐藏主体框改进了对话框显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

近期搞了个Python脚本,需要几个简易的对话框,显然引用PyQT、wxPython有些大动干戈,且这些库搞进来打包成exe又大了不少,所有选择使用自带库tkikter,功能其实很全,只怪自己之前修行不到家啊。。。so,简单mark下

库的导入不多说,走起,,,

import tkinter
import tkinter.messagebox

其中涉及到提示框如下:

tkinter.messagebox.showinfo(title=None, message=None)
tkinter.messagebox.showwarning(title=None, message=None)
tkinter.messagebox.showerror(title=None, message=None)

其中涉及到对话框如下:

tkinter.messagebox.askquestion(title=None, message=None)
tkinter.messagebox.askokcancel(title=None, message=None)
tkinter.messagebox.askyesno(title=None, message=None)
tkinter.messagebox.askretrycancel(title=None, message=None)
tkinter.messagebox.askyesnocancel(title=None, message=None)

看函数名称其实也能猜个大概,其中 askyesnocancel有三个按钮,666 ~~~

以askyesno为例,简单调用试试

txt=tkinter.messagebox.askyesno('提示', '要执行此操作吗')

理论上两个按钮,点击“是(Y)”返回True,点击“否(N)”返回Fasle;实际调用对话功到时没啥问题,然而出现了如下所示框分离,显然不符合预期,一脸懵逼 。。。

后来查了下,得想办法把主体框隐藏掉,所以简单如下处理了下,对话框如下所示,看着也顺眼多了。

其它提示框、对话框用法相同。

def message_askyesno():
    top = tkinter.Tk()  # *********
    top.withdraw()  # ****实现主窗口隐藏
    top.update()  # *********需要update一下
    txt=tkinter.messagebox.askyesno("提示","要执行此操作?")
    top.destroy()
    return txt

message_askyesno()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值