Python Tkinter 窗口的管理与设置(五):三种标准对话框模块

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

  • messagebox。
  • filedialog。
  • colorchooser

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

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542

 Python学习交流群:1039649593

messagebox(消息对话框)

import tkinter as tk 
from tkinter import messagebox 

root = tk.Tk() 

def callback(): 
  result = messagebox.askyesno(message='确认选择 ?') 
  print(result) 

tk.Button(root, text="选择", command=callback).pack() 
tk.mainloop()

下图列举使用messagebox可以创建的所有标准对话框样式


 

 

 

 

参数

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

  • title参数毋庸置疑是设置标题栏的文本。
  • message参数是设置对话框的主要文本内容,可以用'\n'来实现换行。
  • options参数可以设置的选项和含义如下表所示。
     

返回值

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

  • 返回True表示用户单击了“确定”或“是”按钮。
  • 返回False表示用户单击了“取消”或“否”按钮。
  • askquestion()返回"yes"或"no"字符串表示用户单击了“是”或“否”按钮。
  • showerror(),showinfo()和showwarning()返回"ok"表示用户单击了“是”按钮。

filedialog(文件对话框)

当应用程序需要使用打开文件或保存文件的功能时,文件对话框显得尤为重要。实现起来就是这样:

# p15_62.py

from tkinter import * 
from tkinter import filedialog 

root = Tk() 

def callback(): 
  filename = filedialog.askopenfilename() 
  print(filename) 

Button(root, text="打开文件", command=callback).pack() 
mainloop()

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

参数

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


 

 

返回值

如果用户选择了一个文件,那么返回值是该文件的完整路径。
如果用户单击了取消按钮,那么返回值是空字符串。

colorchooser(颜色选择对话框)

颜色选择对话框提供一个让用户选择颜色的界面,请看下面的例子:

# p15_63.py 
from tkinter import * 
from tkinter import colorchooser 

root = Tk() 
def callback(): 
  fileName = colorchooser.askcolor() 
  print(fileName)

Button(root, text="选择颜色", command=callback).pack() 
mainloop()

参数

askcolor(color, ** option)函数的color参数用于指定初始化的颜色,默认是浅灰色;option参数可以指定的选项及含义如下表所示


 

 

 

返回值

如果用户选择一个颜色并单击“确定”按钮后,返回值是一个二元组,第1个元素是选择的RGB颜色值,第2个元素是对应的十六进制颜色值。

如果用户单击“取消”按钮,那么返回值是(None,None)。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值