• python tkinter 使用(二)


    python tkinter 使用(二)

    本篇文章着重讲下tkinter中messagebox的使用。

    1:提示框

    def showinfo(event):
        messagebox.showinfo("这是个提示框","this is message content")
    
    • 1
    • 2

    2:错误提示框

    def showerror(event):
        messagebox.showerror("这是个错误提示框","this is message content")
    
    • 1
    • 2

    3:警告提示框

    def showwarning(event):
        messagebox.showwarning("这是个警告提示框","this is message content")
    
    • 1
    • 2

    4:询问对话框

    使用messagebox.askquestion方法 ,该方法的返回值是yes/no.

    def askquestion(event):
        result = messagebox.askquestion("请听题:", "中国历史上第一个大一统的国家是秦朝吗?")
        print(result)
        if result == 'yes':
            print("回答正确")
        else:
            print("回答错误")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    5:是/否对话框

    askyesno的返回值是True/False

    def askyesno(event):
        result = messagebox.askyesno("选择吧","这是个弹框吗?")
        print(result)
        if result:
            print("回答正确")
        else:
            print("回答错误")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    6:重试取消对话框

    askretrycancel 返回值是True/False

    def askretrycancel(event):
        result = messagebox.askretrycancel("重试","确认选择?")
        print(result)
    
    • 1
    • 2
    • 3

    7:确认取消对话框

    返回值是True/False

    def askokcancel(event):
        result = messagebox.askokcancel("取消框","确认取消吗?")
        print(result)
    
    • 1
    • 2
    • 3

    8:是/否/取消 对话框

    返回值是True/False/None

    def askyesnocancel(event):
        result = messagebox.askyesnocancel("!!!","选择吧!")
        print(result)
    
    • 1
    • 2
    • 3

    最后附上代码:

    #!/usr/bin/python3
    # -*- coding: UTF-8 -*-
    """
     @Author: zh
     @Time 2023/11/21 下午8:08  .
     @Email: xxxx
     @Describe:
    """
    import tkinter as tk
    from tkinter import messagebox
    
    # 创建窗口
    root = tk.Tk()
    root.title("root")
    root.geometry("500x500")
    
    
    def showinfo(event):
        messagebox.showinfo("这是个提示框","this is message content")
    
    def showerror(event):
        messagebox.showerror("这是个错误提示框","this is message content")
    
    def showwarning(event):
        messagebox.showwarning("这是个警告提示框","this is message content")
    
    def askquestion(event):
        result = messagebox.askquestion("请听题:", "中国历史上第一个大一统的国家是秦朝吗?")
        print(result)
        if result == 'yes':
            print("回答正确")
        else:
            print("回答错误")
    
    def askyesno(event):
        result = messagebox.askyesno("选择吧","这是个弹框吗?")
        print(result)
        if result:
            print("回答正确")
        else:
            print("回答错误")
    
    def askretrycancel(event):
        result = messagebox.askretrycancel("重试","确认选择?")
        print(result)
    
    
    def askokcancel(event):
        result = messagebox.askokcancel("取消框","确认取消吗?")
        print(result)
    
    
    def askyesnocancel(event):
        result = messagebox.askyesnocancel("!!!","选择吧!")
        print(result)
    
    
    button = tk.Button(text= "提示框")
    button.pack()
    button.bind('<1>', showinfo)
    
    button = tk.Button(text= "错误提示框")
    button.pack()
    button.bind('<1>', showerror)
    
    button = tk.Button(text="警告提示框")
    button.pack()
    button.bind('<1>', showwarning)
    
    button = tk.Button(text="提问框")
    button.pack()
    button.bind('<1>', askquestion)
    
    button = tk.Button(text="确认弹框")
    button.pack()
    button.bind('<1>', askyesno)
    
    button = tk.Button(text="取消框")
    button.pack()
    button.bind('<1>', askokcancel)
    
    button = tk.Button(text="retry/取消框")
    button.pack()
    button.bind('<1>', askretrycancel)
    
    button = tk.Button(text="yes/no/cancel 框")
    button.pack()
    button.bind('<1>', askyesnocancel)
    
    
    
    root.mainloop()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
  • 相关阅读:
    【Java基础】继承、抽象类、注解
    《复盘+》把经验转化为能力
    分析Spring-ApplicationListener监听器
    java毕业设计——基于java+J2EE+sqlserver的音像店租赁管理系统设计与实现(毕业论文+程序源码)——租赁管理系统
    淘宝API商品详情测试工具,返回数据说明
    【概率论基础进阶】随机变量及其分布-随机变量及其分布函数
    Uni-ControlNet: All-in-One Control toText-to-Image Diffusion Models——【论文笔记】
    快速绘制流程图「GitHub 热点速览 v.22.47」
    数据提取1
    超级实用!React-Router v6实现页面级按钮权限
  • 原文地址:https://blog.csdn.net/qq_23025319/article/details/134555574