鱼c笔记——Python的GUI编程(十七):Tkinter的标准对话框模块messagebox 、filedialog 和 colorchooser

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)

askquestion(title, message, options)

askretrycancel(title, message, options)

askyesno(title, message, options)

showerror(title, message, options)

showinfo(title, message, options)

showwarning(title, message, options)

参数

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

----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')]

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)

parent

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

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

title

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

--默认标题是“颜色”

返回值

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

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

猜你喜欢

转载自blog.csdn.net/weixin_41738417/article/details/81605646