'''2.使用tkSimpleDialog模块'''
# askinteger:输入一个整数值
# askfloat:输入一个浮点数
# askstring:输入一个字符串
from tkinter import *
# 引入SimpleDialog模态对话框
from tkinter.simpledialog import *
root = Tk()
# 输入一个整数,
# initialvalue指定一个初始值
# prompt提示信息
# title提示框标题
print(askinteger(title='prompt', prompt='input a integer:', initialvalue=100))
# 输入一浮点数
# minvalue指定最小值
# maxvalue指定最大值,如果不在二者指定范围内则要求重新输入
print(askfloat(title='float', prompt='input a float', minvalue=0, maxvalue=11))
# 输入一字符串
print(askstring(title='string', prompt='input a string'))
root.mainloop()
# 返回值为各自输入的值。
'''2.打开文件对话框'''
# LoadFileDialog:打开对话框
from tkinter import *
from tkinter.filedialog import *
root = Tk()
# 指定master就可以了。
# title属性用来指定标题
fd = LoadFileDialog(root)
# go方法的返回值即为选中的文本路径,如果选择取返回值则为None
print(fd.go())
root.mainloop()
# 返回选中的文件名称
'''3.保存文件对话框'''
# SaveFileDialog:保存对话框
# 与LoadFileDialog正好操作相反,这个类是用来保存文件。
# 各个 参数的意义都 一样,只是ok的返回值为保存的文件名称;如果取消则为None
from tkinter import *
from tkinter.filedialog import *
root = Tk()
# 指定master就可以了。
# title属性用来指定标题
fd = SaveFileDialog(root)
# go方法的返回值即为选中的文本路径,如果选择取返回值则为None
print(fd.go())
root.mainloop()
# 返回选中的文件名称
'''4.使用颜色对话框'''
# askcolor:颜色对话框
from tkinter import *
# 引入tkColorChoose模块
from tkinter.colorchooser import *
root = Tk()
# 调用askcolor返回选中颜色的(R,G,B)颜色值及#RRGGBB表示
print(askcolor())
root.mainloop()
# 返回选中的文件名称
'''5. 使用消息对话框'''
# -*- coding: utf-8 -*-
# showinfo:信息对话框
# showwarning:警告对话框
# showerror:错误对话框
# showquestion:询问对话框
# showokcancel:显示确定/取消对话框
# showyesno:是/否对话框
# showretrycancel:重试/取消对话框
# 使用提示对话框模块tkMessageBox
from tkinter import *
# 引入tkMessageBox模块
from tkinter.messagebox import *
root = Tk()
stds = [
showinfo, # 显示信息消息框
showwarning, # 显示警告消息框
showerror, # 显示错误消息框
askquestion, # 显示询问消息框
askokcancel, # 显示确认/取消消息框
askyesno, # 显示是/否消息框
askretrycancel # 显示重试/取消消息框
]
for std in stds:
print(str(std), std(title=str(std), message=str(std)))
# 程序打印输出结果如下(与点击的按钮得到不同其值)
# <function showinfo at 0x00D589F0> ok
# <function showwarning at 0x00D58A30> ok
# <function showerror at 0x00D58A70> ok
# <function askquestion at 0x00D58AB0> yes
# <function askokcancel at 0x00D58AF0> False
# <function askyesno at 0x00D58B30> True
# <function askretrycancel at 0x00D58B70> True
root.mainloop()
# 如果要确认点击的是那一个按钮,则可以判断这个消息框的返回值,注意各个值有所不同
# 返回值有ok/yes/True