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


库导入:

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有三个按钮

以askyesno为例,简单调用试试:

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

理论上两个按钮,点击“是(Y)”返回True,点击“否(N)”返回Fasle;实际调用对话功能没啥问题,然而出现了如下所示框分离……

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

def message_askokcancel(title, info):
    top = tkinter.Tk()
    top.withdraw()
    top.update()
    mes = tkinter.messagebox.askokcancel(title, info)
    top.destroy()
    return mes
mes = message_askokcancel("提示","要执行此操作?")
if mes:
    print("已执行\n")

结果:


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM