Tkinter 对话框 — Python 文档

来自菜鸟教程
Python/docs/3.10/library/dialog
跳转至:导航、​搜索

Tkinter 对话框

tkinter.simpledialog — 标准 Tkinter 输入对话框

源代码: :source:`Lib/tkinter/simpledialog.py`



tkinter.simpledialog 模块包含方便的类和函数,用于创建简单的模态对话框以从用户那里获取值。

tkinter.simpledialog.askfloat(title, prompt, **kw)

tkinter.simpledialog.askinteger(title, prompt, **kw)
tkinter.simpledialog.askstring(title, prompt, **kw)

以上三个函数提供了提示用户输入所需类型值的对话框。
class tkinter.simpledialog.Dialog(parent, title=None)

自定义对话框的基类。

body(master)

覆盖以构造对话框的界面并返回应具有初始焦点的小部件。

buttonbox()

默认行为添加确定和取消按钮。 覆盖自定义按钮布局。



tkinter.filedialog — 文件选择对话框

源代码: :source:`Lib/tkinter/filedialog.py`



tkinter.filedialog 模块提供用于创建文件/目录选择窗口的类和工厂函数。

本机加载/保存对话框

以下类和函数提供了文件对话框窗口,这些窗口将本机外观与配置选项相结合以自定义行为。 以下关键字参数适用于下面列出的类和函数:

parent - 将对话框放在上面的窗口

title - 窗口的标题

initialdir - 对话框开始的目录

initialfile - 打开对话框时选择的文件

filetypes - 一系列(标签,模式)元组,允许使用“*”通配符

defaultextension - 附加到文件的默认扩展名(保存对话框)

multiple - 当为真时,允许选择多个项目

静态工厂函数

以下函数在调用时创建一个模态的、原生的外观对话框,等待用户的选择,然后将选定的值或 None 返回给调用者。

tkinter.filedialog.askopenfile(mode='r', **options)

tkinter.filedialog.askopenfiles(mode='r', **options)

以上两个函数创建一个 Open 对话框并以只读模式返回打开的文件对象。
tkinter.filedialog.asksaveasfile(mode='w', **options)
创建一个 SaveAs 对话框并返回一个以只写模式打开的文件对象。
tkinter.filedialog.askopenfilename(**options)

tkinter.filedialog.askopenfilenames(**options)

以上两个函数创建一个 Open 对话框并返回与现有文件对应的选定文件名。
tkinter.filedialog.asksaveasfilename(**options)
创建一个 SaveAs 对话框并返回选定的文件名。
tkinter.filedialog.askdirectory(**options)

提示用户选择一个目录。

附加关键字选项:

mustexist - 确定选择是否必须是现有目录。

class tkinter.filedialog.Open(master=None, **options)

class tkinter.filedialog.SaveAs(master=None, **options)

以上两个类提供了用于保存和加载文件的本机对话窗口。

便利班

以下类用于从头开始创建文件/目录窗口。 这些不会模拟平台的原生外观。

class tkinter.filedialog.Directory(master=None, **options)
创建一个对话框,提示用户选择一个目录。

笔记

FileDialog 类应该是自定义事件处理和行为的子类。


class tkinter.filedialog.FileDialog(master, title=None)

创建一个基本的文件选择对话框。

cancel_command(event=None)

触发对话窗口的终止。

dirs_double_event(event)

目录上双击事件的事件处理程序。

dirs_select_event(event)

目录上单击事件的事件处理程序。

files_double_event(event)

文件上双击事件的事件处理程序。

files_select_event(event)

文件上单击事件的事件处理程序。

filter_command(event=None)

按目录过滤文件。

get_filter()

检索当前使用的文件过滤器。

get_selection()

检索当前选定的项目。

go(dir_or_file=os.curdir, pattern='*', default=, key=None)

渲染对话框并启动事件循环。

ok_event(event)

退出对话框返回当前选择。

quit(how=None)

退出对话框返回文件名,如果有的话。

set_filter(dir, pat)

设置文件过滤器。

set_selection(file)

将当前文件选择更新为 file

class tkinter.filedialog.LoadFileDialog(master, title=None)
FileDialog 的一个子类,它创建一个用于选择现有文件的对话框窗口。
ok_command()
测试是否提供了一个文件,并且该选择表明一个已经存在的文件。
class tkinter.filedialog.SaveFileDialog(master, title=None)
FileDialog 的子类,用于创建用于选择目标文件的对话框窗口。
ok_command()
测试选择是否指向一个不是目录的有效文件。 如果选择了已经存在的文件,则需要确认。


tkinter.commondialog — 对话框窗口模板

源代码: :source:`Lib/tkinter/commondialog.py`



tkinter.commondialog 模块提供了 Dialog 类,它是其他支持模块中定义的对话框的基类。

class tkinter.commondialog.Dialog(master=None, **options)
;; show(color=None, **options)
渲染对话框窗口。

也可以看看

模块 tkinter.messagebox, 读写文件