首页 > 编程语言 >【Python GUI 编程】tkinter :消息框、对话框

【Python GUI 编程】tkinter :消息框、对话框

时间:2024-11-21 20:28:43浏览次数:1  
标签:10 tkinter title Python text 对话框 tk root

在本教程中,将介绍如何使用 tkinter 的 messagebox 模块、filedialog 模块、colorchooser 模块显示各种消息框、对话框。

在使用 Tkinter 开发应用程序时,需要向用户发送提示、警告、错误信息。
这些场景,可以使用 messagebox 模块中的以下方法实现:

showinfo():提示信息。

showerror():错误信息。

showwarrning():警告信息。

如果需要显示一个要求用户选择、确认、重试的对话框,可以使用 messagebox 模块中的以下方法实现:

askyesno():显示 Yes/No 对话框

askokcancel():显示 OK/Cancel 对话框

askretrycancel():显示 Retry/Cancel 对话框

如果需要显示打开文件的对话框,可以使用 filedialog 模块中的以下方法实现:

askopenfilename()

如果需要显示颜色选择对话框,可以使用 colorchooser 模块中的以下方法实现:

askcolor()

import tkinter as tk
from tkinter.messagebox import *
from tkinter import filedialog as fd
from tkinter.colorchooser import askcolor
root = tk.Tk()
root.geometry('600x400+200+200')
root.title('MessageBox 消息框、对话框演示')

def show_error():
    showerror(title='错误', message='这是一个错误信息窗口')
def show_info():
    showinfo(title='提示', message='这是一个提示信息窗口')
def show_warning():
    showwarning(title='警告', message='这是一个警告信息窗口')
def confirm_destroy():
    answer = askyesno(title='Yes/No', message='你确定要退出?')
    if answer:
        root.destroy()
def confirm_delete():
    answer = askokcancel(title='Ok/Cancel', message='删除所有数据?')
    if answer:
        showinfo(title='提示', message='所有数据删除成功')
def confirm_retry():
    answer = askretrycancel(title='Retry/Cancel', message='数据发送不成功,尝试重新发送?')
    if answer:
        showinfo(title='提示', message='尝试再次发送数据')
def select_file():
    filetypes = (('text files', '*.txt'), ('All files', '*.*'))
    filename = fd.askopenfilename(title='打开文件', initialdir='/', filetypes=filetypes)
    showinfo(
        title='选择文件', message=filename)
def change_color():
    colors = askcolor(title="选择颜色")
    root.configure(bg=colors[1])
    
tk.Button(
    root, width=20,
    text='显示错误信息',
    command=show_error).pack(padx=10, pady=10)

tk.Button(
    root, width=20,
    text='显示提示信息',
    command=show_info).pack(padx=10, pady=10)

tk.Button(
    root, width=20,
    text='显示警告信息',
    command=show_warning).pack(padx=10, pady=10)

tk.Button(
    root, width=20,
    text='退出',
    command=confirm_destroy).pack(padx=10, pady=10)

tk.Button(
    root, width=20,
    text='删除数据',
    command=confirm_delete).pack(padx=10, pady=10)

tk.Button(
    root, width=20,
    text='发送数据',
    command=confirm_retry).pack(padx=10, pady=10)
tk.Button(
    root, width=20,
    text='打开文件',
    command=select_file).pack(padx=10, pady=10)
tk.Button(
    root, width=20,
    text='选择颜色',
    command=change_color).pack(padx=10, pady=10)
root.mainloop()

原创 信息科技云课堂

标签:10,tkinter,title,Python,text,对话框,tk,root
From: https://www.cnblogs.com/o-O-oO/p/18561481

相关文章

  • Python算法模版——并查集
        并查集常用于与图或树相关的算法题中,一个最为经典应用场景是求无向图的连通分量,为方便大家使用并查集算法,这里为大家提供一个Python的并查集算法模版,并加有详细注释。classUnionFind:def__init__(self,n):#n代表总共有n个节点,初始时每个节点以......
  • 接口测试之python+rquest+unittest分层自动化框架
    一、新建一个项目接口自动化框架设计实战:第一包:config第二包:api组建接口包第三个包:testcase存放用例,第四个包:report包报告包第五包:utils包工具类包第六个包:run二、邮箱设置断言:接口断言参考:讲解稿:首先在pycharm里新建一个项目,然后构建6个包,分别是api构......
  • 【C++学习笔记】一个先学了Java,Python,Csharp最后再来学C++的菜狗笔记
    1.字符串1.char数组charstr[]="helloworld";可以使用cstring库中的函数(如strlen,strcpy)。2.string类型#include<string>stringstr="helloworld";与csharp,java等语言不同的是动态分配内存,由标准库管理。支持操作符重载(如+,==等)。std::string是可变的,类似......
  • python-day07-面向对象进阶
    isinstance和issubclassisinstance(obj,cls)检查是否obj是否是类cls的对象123456class Foo(object):     pass   obj = Foo()   isinstance(obj,Foo)issubclass(sub,super)检查sub类是否是super类的派生类 1234......
  • 当我处于无限流---Python实现简易猜数字
    目标:设计一个猜数字游戏,使用户在(1-50)范围内猜到(1-11)范围为成功,确保游戏能重复进行(家人们,重生之系列有点难编,最近江郎才尽了QAQ)说明:(1,11)事实上为左闭右开猜1-->对    猜11-->错   猜0-->错 #无限流,循环一下whileTrue:#指引玩家开始猜数字player=int(in......
  • 【Python】0基础学Python——字符串编码、base64编码、不可逆加密、公私钥存储、公钥
    0基础学Python——字符串编码、base64编码、不可逆加密、公私钥存储、公钥加密私钥解密、签名和认证、函数标注类型字符串编码base64编码地址解码-1地址解码-2不可逆加密md5加密sha256加密公私钥存储获取密钥对获取字符串流存储到文件公钥加密私钥解密公钥加密1.字符......
  • 【Python】0基础学Python——函数参数传递、函数细分、类的信息、元类、自定义元类、p
    0基础学Python——函数参数传递、函数细分、类的信息、元类、自定义元类、pickle序列化、序列化升级函数参数传递参数传递类型标注函数细分task任务型函数consumer消费型函数functional功能型函数类的信息元类type作用自定义元类pickle序列化序列化反序列化序列化升......
  • 重生之我在Python中计算圆的周长和面积(第三章)
     ‘系统,你便用这些来搪塞朕吗,你寄身于孤,也要拿出些诚意来!’听到我的话,系统不禁打了个寒颤‘这世上竟有和我讨价还价的宿主,也罢,如今也是有求于他,便再展示一般吧!’系统内心不禁感慨随后荧光乍现,又一串神秘数字出现在眼前(不二家.jdp)             ......
  • python-5-常用模块
    python-5-常用模块什么是模块?  常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。  但其实import加载的模块分为四个通用类别:1使用python编写的代码(.py文件)2已被编译为共享库或DLL的C或C++扩展3包好一组模......
  • 如何设置绘制一个对话框,对话框随内容自适应宽度
    <Canvas><TextBlockx:Name="stitchOverTopTextBlock"FontFamily="MicrosoftYaHei"Text="好好学习天天向上"SizeChanged="stitchOverTopTextBlock_SizeChanged"Panel.ZIndex="1"Foreground=&qu......