• 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
  • 相关阅读:
    String长度限制?
    建造者模式
    【kali-权限提升】(4.1)假冒令牌攻击、本地提权:流程
    【无标题】
    【买入看跌期权策略(Long Put)】
    ASCHIP_ISP Tool 工具 使用与更新
    算法探索-切面条(CSDN算法技能树第一题)
    2020 年 Java 面试题集锦(金九银十)
    6. `Java` 并发基础之`ReentrantReadLock`
    算法效率的计算
  • 原文地址:https://blog.csdn.net/qq_23025319/article/details/134555574