Tkinter为我们提供了三种标准对话框模块,他们分别是:

messagebox

filedialog

colorchooser

 

注:这三个模块原来是独立的,分别是tkMessageBox、tkFileDialog和tkColorChooser,需要导入才能使用。在Python3之后,这些模块全部被归纳到Tkinter模块的麾下。

 

Messagebox(消息对话框)

下文为你列出了使用messagebox可以创建的所有标准对话框样式:


 

1. from tkinter import messagebox
2. #import tkinter.messagebox
3. from tkinter import *
4.  
5. print(messagebox.askokcancel('messagebox', 'Demo one'))
6. #有返回值,点‘确定’返回True,点‘取消’返回False。后序可以有对返回值的操作进行下一步
7.  
8. mainloop()

 

使用函数和对话框样式

askokcancel(item, message, options)

Python制作智能英语对话框 python写对话框_Python制作智能英语对话框

askquestion(title, message, options)

Python制作智能英语对话框 python写对话框_文件名_02

askretrycancel(title, message, options)

Python制作智能英语对话框 python写对话框_文件名_03

askyesno(title, message, options)

Python制作智能英语对话框 python写对话框_子窗口_04

showerror(title, message, options)

Python制作智能英语对话框 python写对话框_Python制作智能英语对话框_05

showinfo(title, message, options)

Python制作智能英语对话框 python写对话框_后缀_06

showwarning(title, message, options)

Python制作智能英语对话框 python写对话框_后缀_07

 

 

参数

所有的这些函数都有相同的参数:

----title参数设置标题栏的文本

----message参数设置对话框的主要内容,可以使用'\n'来进行换行

----options参数可以设置的选项和含义如下

default

--设置默认的按钮(也就是按下回车响应的那个按钮)

--默认是第一个按钮(像‘确定’,‘是’或‘重试’)

--可以设置的值根据对话框的不同可以进行选择:CANCEL、IGNORE、OK、NO、RETRY或YES

 

icon

--指定对话框显示的图标

--可以指定的值有:ERROR、INFO、QUESTION或WARNING

--注意:不能自己指定自己的图标(不可自定义图标)

 

parent

--如果不指定该选项,那么对话框默认显示在根窗口上

--如果想要讲对话框显示在子窗口w上,那么可以设置parent=w

 

 

返回值

askokcancel()、askretrycancel()和askyesno()返回布尔类型的值:

--返回True表示用户点击了‘确定’或‘是’按钮

--返回False表示用户点击了‘取消’或‘否’按钮

askquestion()返回‘yes’或‘no’字符串表示用户点击了‘是’或‘否’按钮

showerror()、showinfo()和showwarning()返回‘ok’表示用户按下了‘是’按钮

 

 

 

filedialog(文件对话框)

当你的应用程序需要使用打开文件或保存文件的功能时,文件对话框显得尤为重要。emmm,印象里Java好像也有个组件还是函数可以几行实现。


 

1. #from tkinter import filedialog
2. import tkinter.filedialog
3. from tkinter import *
4.  
5. root = Tk()
6.  
7. def callback():
8. fileName = filedialog.askopenfilename()
9. print(fileName)
10.  
11. Button(root, text='打开文件', command=callback).pack()
12.  
13. mainloop()

filedialog模块提供了两个函数:askopenfilename(**options)和asksaveasfilename(**options),分别用于打开文件和保存文件。

 

参数

两个函数可供设置的选项是一样的,下面列举了可用选项及含义:

defaultextension

--指定文件的后缀

--例如:defaultextension='.jpg',那么当用户输入一个文件名'Python'的时候,文件名会自动添加后缀为'Python.jpg'

--注意:如果用户输入文件名包含后缀,那么该选项不生效

 

filetypes

--指定筛选文件类型的下拉菜单选项

--该选项的值是由二元组构成的列表

--每个二元组是由(类型名,后缀)构成,例如:filetypes=[('PNG', '.png'), ('JPG', '.jpg'), ('GIF', '.gif')]

Python制作智能英语对话框 python写对话框_子窗口_08

 

 

initialdir

--指定打开保存文件的默认路径

--默认路径是当前文件夹

 

parent

--如果不指定该选项,那么对话框默认显示在根窗口上

--如果想要将对话框显示在子窗口w上,那么可以设置parent=w

 

title

--指定文件对话框的标题栏文本

 

 

返回值

1.如果用户选择了一个文件,那么返回值是该文件的完整路径

2.如果用户点击了取消按钮,那么返回值是空字符串

 

 

 

 

colorchooser(颜色对话框)

颜色对话框提供了一个友善的界面让用户选择需要的颜色。


 


1. from tkinter import colorchooser
2. from tkinter import *
3.  
4. root =Tk()
5.  
6. def callback():
7. fileName = colorchooser.askcolor()
8. print(fileName)
9.  
10. Button(root, text='选择颜色', command=callback).pack()
11.  
12. mainloop()

 

colorchooser模块提供了一个函数askcolor(color, option=value, ...)

 

参数

color

--要显示的初始的颜色(下图四个红箭头指的地方)

--默认颜色是浅灰色(light gray)

Python制作智能英语对话框 python写对话框_Python制作智能英语对话框_09

 

parent

 

--如果不指定该选项,那么对话框默认显示在根窗口上

--如果想要将对话框显示在子窗口w上,那么可以设置parent=w

 

title

--指定颜色选择器标题栏的文本

--默认标题是“颜色”

 

 

返回值

1.如果用户点击的‘确定’按钮,返回值是一个二元组(triple, color),其中的triple是一个三元组(R, G, B)--其中R, G, B的范围是[0, 255](就是该颜色的RGB颜色),第二个参数选中颜色的16进制的值

2.如果用户点击的‘取消’按钮,返回值是(None, None)