返回顶部
首页 > 资讯 > 后端开发 > Python >PythonTkinter对话框控件使用详解
  • 797
分享到

PythonTkinter对话框控件使用详解

2024-04-02 19:04:59 797人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

目录文件选择对话框颜色选择对话框消息对话框除了基本的控件之外,Tkinter 还提供了三种对话框控件: 文件选择对话框:filedailog 颜色选择对话框:colorchooser

除了基本的控件之外,Tkinter 还提供了三种对话框控件:

文件选择对话框:filedailog

颜色选择对话框:colorchooser

消息对话框:messagebox

这些对话框的使用能够在一定程度上增强用户的交互体验,下面对这些对话框控件进行详细地介绍。

文件选择对话框

文件对话框在 GUI 程序中经常的使用到,比如上传文档需要从本地选择一个文件,包括文件的打开和保存功能都需要一个文件对话框来实现。Tkinter 提供文件对话框被封装在tkinter.filedailog模块中,该模块提供了有关文件对话框的常用函数,经常使用的有以下几个:

方法说明
Open()打开个某个文件
SaveAs()打开一个保存文件的对话框
askopenfilename()打开某个文件,并以包函文件名的路径作为返回值
askopenfilenames()同时打开多个文件,并以元组形式返回多个文件名
askopenfile()打开文件,并返回文件流对象
askopenfiles()打开多个文件,并以列表形式返回多个文件流对象
asksaveasfilename()选择以什么文件名保存文件,并返回文件名
asksaveasfile()选择以什么类型保存文件,并返回文件流对象
askdirectory选择目录,并返回目录名

上述方法的常用参数值如下所示:

参数说明
defaultextension指定文件的后缀名,当保存文件时自动添加文件名,如果自动添加了文件的后缀名,则该选项值不会生效
filetypes指定筛选文件类型的下拉菜单选项,该选项值是由 2 元祖构成的列表,其中每个二元祖由两部分组成 (类型名,后缀),比如 filetypes = [("PNG","*.png"), ("JPG", "*.jpg"), ("GIF","*.gif"),("文本文件","*.txt")...] 
initialdir指定打开/保存文件的默认路径,默认路径是当前文件夹
parent 如果不指定该选项,那么对话框默认显示在根窗口上,通过设置该参数可以使得对话框显示在子窗口上
title指定文件对话框的标题

下面看一组具体的实例应用:

from tkinter import *
import tkinter.filedialog  # 注意次数要将文件对话框导入
# 定义一个处理文件的相关函数
def askfile():
    # 从本地选择一个文件,并返回文件的目录
    filename = tkinter.filedialog.askopenfilename()
    if filename != '':
         lb.config(text= filename)
    else:
         lb.config(text='您没有选择任何文件')
root = Tk()
root.config(bg='#87CEEB')
root.title("C语言中文网")
root.geometry('400x200+300+300')
root.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网loGo.ico')
btn=Button(root,text='选择文件',relief=RAISED,command=askfile)
btn.grid(row=0,column=0)
lb = Label(root,text='',bg='#87CEEB')
lb.grid(row=0,column=1,padx=5)
# 显示窗口
root.mainloop()

程序运行结果:

图1:文件选择界面

下面再看一组“保存文件”的示例代码如下:

import tkinter as tk
from tkinter import filedialog
from PIL import Image
def open_img():
    try:
        global img
        filepath = filedialog.askopenfilename() # 打开文件,返回该文件的完整路径
        filename.set(filepath)
        img = Image.open(filename.get())
    except Exception as e:
        print("您没有选择任何文件",e)
def save_png():
    try:
        filetypes = [("PNG","*.png"), ("JPG", "*.jpg"), ("GIF","*.gif"),("txt files","*.txt"),('All files','*')]
        # 返回一个 pathname 文件路径字符串,如果取消或者关闭则返回空字符,返回文件如何操作是后续代码的事情,
        # 该函数知识返回选择文件的文件名字,不具备保存文件的能力
        filenewpath= filedialog.asksaveasfilename(title='保存文件',
                                                filetypes=filetypes,
                                                defaultextension='.png',
                                                initialdir='C:/Users/Administrator/Desktop' )
        path_var.set(filenewpath)
        # 保存文件
        img.save(str(path_var.get()))
    except Exception as e:
        print(e)
window = tk.Tk()
window.title("C语言中文网")
window.geometry('400x200+300+300')
window.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')
filename = tk.StringVar()
path_var = tk.StringVar()
# 定义读取文件的组件
entry = tk.Entry(window, textvariable=filename)
entry.grid(row=1, column=0, padx=5, pady=5)
tk.Button(window, text='选择文件', command=open_img).grid(row=1, column=1, padx=5, pady=5)
# 定义保存文件的组件
entry1 = tk.Entry(window, textvariable=path_var)
entry1.grid(row=2, column=0, padx=5, pady=5)
tk.Button(window, text='保存文件', command=save_png).grid(row=2, column=1, padx=5, pady=5)
window.mainloop()

程序运行结果:

图2:程序运行结果

颜色选择对话框

颜色选择对话框(colorchooser),提供了一个非常友善的颜色面板,它允许用户选择自己所需要的颜色。 当用户在面板上选择一个颜色并按下“确定”按钮后,它会返回一个二元祖,其第 1 个元素是选择的 RGB 颜色值,第 2 个元素是对应的 16 进制颜色值。

颜色选择对话款主要应用在画笔、涂鸦等功能上,通过它可以绘制出五彩缤纷的颜色,该对话框的使用非常简单,主要有以下两个常用方法:

方法说明
askcolor()打开一个颜色对话框,并将用户选择的颜色值以元组的形式返回(没选择返回None),格式为((R, G, B), "#rrggbb")
Chooser()打开一个颜色对话框,并用户选择颜色确定后,返回一个二元组,格式为((R, G, B), "#rrggbb")

常用的颜色对话框的参数值如下表所示:

属性说明
default要显示的初始的颜色,默认颜色是浅灰色(light gray)
title指定颜色选择器标题栏的文本,默认标题为“颜色”
parent1. 如果不指定该选项,那么对话框默认显示在根窗口上
2. 如果想要将对话框显示在子窗口上,那么可以设置 parent = 子窗口对象

下面看一组简单的使用示例:

import tkinter as tk
from tkinter import colorchooser
root = tk.Tk()
root.title("颜色选择")
root.geometry('400x200+300+300')
root.iconbitmap('C:/Users/Administrator/Desktop/C语言中文网logo.ico')
def callback():
    # 打开颜色对话款
    colorvalue = tk.colorchooser.askcolor()
    # 在颜色面板点击确定后,会在窗口显示二元组颜色值
    lb.config(text='颜色值:'+ str(colorvalue))
lb=tk.Label(root,text='',font=('宋体',10))
# 将label标签放置在主窗口
lb.pack()
tk.Button(root, text="点击选择颜色", command=callback, width=10, bg='#9AC0CD').pack()
# 显示界面
root.mainloop()

颜色对话框如下所示:

图3:tkinter颜色对话框

上述程序的运行结果如下:

图4:程序运行结果

消息对话框

关于消息对话款(messagebox),在前面介绍其他控件时已经使用过,在本节仅对它做简单介绍。

消息对话框主要起到信息提示、警告、说明、询问等作用,通常配合“事件函数”一起使用,比如执行某个操作出现了错误,然后弹出错误消息提示框。通过使用消息对话框可以提升用户的交互体验,也使得 GUI 程序更加人性化。消息对话框主要包含了以下常用方法:

方法说明
askokcancel(title=None, message=None)打开一个“确定/取消”的对话框
askquestion(title=None, message=None)打开一个“是/否”的对话框。
askretrycancel(title=None, message=None)打开一个“重试/取消”的对话框
askyesno(title=None, message=None)打开一个“是/否”的对话框
showerror(title=None, message=None)打开一个错误提示对话框
showinfo(title=None, message=None)打开一个信息提示对话框
showwarning(title=None, message=None)打开一个警告提示对话框

上述方法拥有相同的选项参数,如下表所示:

属性说明
default1. 设置默认的按钮(也就是按下回车响应的那个按钮)
2. 默认是第一个按钮(像“确定”,“是”或“重试”)
3. 可以设置的值根据对话框函数的不同,可以选择 CANCEL,IGNORE,OK,NO,RETRY 或 YES
icon1. 指定对话框显示的图标
2. 可以指定的值有:ERROR,INFO,QUESTION 或 WARNING
3. 注意:不能指定自己的图标
parent1. 如果不指定该选项,那么对话框默认显示在根窗口上
2. 如果想要将对话框显示在子窗口上,那么可以设置 parent= 子窗口对象

上述方法的返回值一般会是一个布尔值,或者是“YES”,“NO”,“OK”等,这些方法使用较为简单,此处不进行逐一列举,看个简单的示例即可:

import tkinter.messagebox
result=tkinter.messagebox.askokcancel ("提示"," 你确定要关闭窗口吗? ")
# 返回布尔值参数
print(result)

程序运行结果:

图5:消息对话框

到此这篇关于python Tkinter对话框控件使用详解的文章就介绍到这了,更多相关Python Tkinter对话框控件内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: PythonTkinter对话框控件使用详解

本文链接: https://lsjlt.com/news/163244.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • PythonTkinter对话框控件使用详解
    目录文件选择对话框颜色选择对话框消息对话框除了基本的控件之外,Tkinter 还提供了三种对话框控件: 文件选择对话框:filedailog 颜色选择对话框:colorchooser...
    99+
    2024-04-02
  • 提示信息控件AlertDialog对话框详解
    目录提要1.基本使用流程2.几种常用的对话框使用示例3.通过Builder的setView()定制显示的AlertDialog提要 本节继续给大家带来是显示提示信息的第三个控件Al...
    99+
    2023-05-15
    AlertDialog 对话框 AlertDialog 提示信息控件
  • Python Tkinter对话框控件怎么使用
    本篇内容主要讲解“Python Tkinter对话框控件怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python Tkinter对话框控件怎么使用”吧!除了基本的控...
    99+
    2023-06-28
  • Vue对话框组件使用方法详解
    本文实例为大家分享了Vue对话框组件的使用,供大家参考,具体内容如下 效果如下图所示:(整体样式模仿ant-design-vue Modal样式,同时阴影覆盖浏览器窗口) ①创建组...
    99+
    2024-04-02
  • Android对话框使用方法详解
    对话框(Dialog)是Android系统在Activity或者其他组件运行过程中提供的一种提示机制。它可以帮助应用完成一些必要的提示功能,同时提供一些与用户交互的功能。 对话框分为...
    99+
    2024-04-02
  • WinForm中怎么使用打印对话框控件
    要在WinForm中使用打印对话框控件,可以按照以下步骤进行: 在Visual Studio中打开你的WinForm应用程序项目。...
    99+
    2024-03-12
    WinForm
  • Android对话框AlertDialog.Builder使用方法详解
    我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的朋友都会知道,大部分的平台都只提供了几个最简单的实现,如果我们想实现自己特定需求的对话框,大家可...
    99+
    2022-06-06
    方法 alertdialog Android
  • 提示信息控件AlertDialog对话框怎么使用
    这篇文章主要介绍“提示信息控件AlertDialog对话框怎么使用”,在日常操作中,相信很多人在提示信息控件AlertDialog对话框怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”提示信息控件Ale...
    99+
    2023-07-06
  • Android Dialog对话框详解
    废话不多说了,直接给大家贴代码了。 布局文件xml: <LinearLayout xmlns:android="http://schemas.android.com/a...
    99+
    2022-06-06
    dialog Android
  • Android对话框AlertDialog详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框5.复选对话框6.自...
    99+
    2024-04-02
  • 8种android 对话框(Dialog)使用方法详解
    本文汇总了android 8种对话框(Dialog)使用方法,分享给大家供大家参考,具体内容如下 1.写在前面 Android提供了丰富的Dialog函数,本文介绍最常用的8种...
    99+
    2022-06-06
    方法 dialog Android
  • Android对话框AlertDialog与DatePickerDialog及TimePickerDialog使用详解
    目录一、提醒对话框AlertDialog二、日期对话框DatePickerDialog第一种-点击选择日期出现日历第二种-滚动选择日期三、时间对话框TimePickerDialog方...
    99+
    2024-04-02
  • MFC中的文件对话框类CFileDialog详解
    CFileDialog是MFC中的一个文件对话框类,用于打开或保存文件时显示文件选择对话框。CFileDialog类继承自CComm...
    99+
    2023-09-13
    详解
  • Android Dialog对话框用法实例详解
    本文实例讲述了Android Dialog对话框用法。分享给大家供大家参考,具体如下: Activities提供了一种方便管理的创建、保存、回复的对话框机制,例如 onCrea...
    99+
    2022-06-06
    dialog Android
  • Android时间对话框TimePickerDialog详解
    目前网上流行着很多对“时间对话框TimePickerDialog”的讲解文章,但感觉都不是很详细。所以浣熊在这里详细对该方面的知识进行介绍,旨在帮助初学者能够快速掌握该项技术。...
    99+
    2022-06-06
    Android
  • Android AlertDialog(对话框)实例详解
    目录1.创建AlertDialog1.1 布局文件代码如下:1.2 MainActivity的主要代码如下所示:2.普通提示对话框3.普通列表对话框4.单选对话框4、复选对话框6、自...
    99+
    2024-04-02
  • WinForm中怎么使用文件对话框
    在WinForm中使用文件对话框,可以通过以下步骤实现: 在窗体中添加一个按钮,用于触发打开文件对话框。 在按钮的点击事件中...
    99+
    2024-04-08
    winform
  • WinForm中的颜色对话框控件有什么用
    WinForm中的颜色对话框控件用于让用户选择颜色。通过颜色对话框控件,用户可以打开一个对话框来选择他们喜欢的颜色,并将所选颜色应用...
    99+
    2024-03-12
    WinForm
  • Android AlertDialog对话框详解及实例
    Android  AlertDialog 关系图如下: Android主要提供四种对话框: 1:AlertDialog:功能最丰富,实际应用最广的对话框。...
    99+
    2022-06-06
    alertdialog Android
  • Android 对话框 Dialog使用实例讲解
    对话框 Dialog 什么是对话框 对话框是在当前的页面之上弹出的小窗口, 用于显示一些重要的提示信息, 提示用户的输入,确认信息,或显示某种状态.如 : 显示进度条对话框, ...
    99+
    2022-06-06
    dialog Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作