zoukankan      html  css  js  c++  java
  • 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("已执行
    ")
    

    结果:

  • 相关阅读:
    设计模式_享元设计模式(flyweight)
    eclipse的使用
    Bank项目
    反射练习
    反射接口
    反射
    32-一笔画(欧拉图)
    67-蓝桥省赛-2014
    13-STL-二分查找
    31-最长公共子序列
  • 原文地址:https://www.cnblogs.com/xym4869/p/11643665.html
Copyright © 2011-2022 走看看