对话框
tkinter提供下列不同类型的对话框,这些对话框的功能存放在tkinter的不同模块中。主要包括messagebox模块,filedialog模块和colorchooser模块。
messagebox模块
messagebox模块提供下列方法来打开供用户选择项目的对话框。
(1)askokcancel(title=None,message=None):打开一个【确定/取消】对话框。
import tkinter.messagebox
tkinter.messagebox.askokcancel("提示","你确定要关闭窗口吗")
#单击“确定”返回True,单击“取消”返回False
(2)askquestion(title=None,message=None):打开一个【是/否】对话框。
import tkinter.messagebox
tkinter.messagebox.askquestion("提示","你确定要关闭窗口吗")
#单击“是”返回True,单击“否”返回False
(3)askyesno(title=None,message=None):打开一个【是/否】对话框。
(4)askcanael(title=None,message=None):打开一个【重试/取消】对话框。
(5)showerror(title=None,message=None):打开一个错误提示对话框。
(6)showinfo(title=None,message=None):打开一个信息提示对话框。
(7)showwarning(title=None,message=None):打开一个警告提示对话框。
filedialog模块
tkinter.filedialog模块可以打开【打开】对话框,或者【另存为】对话框。
Open(master=None,filetypes=None):打开一个【打开】对话框。filetypes是要打开的文件的类型,为一个列表。
SaveAs(master=None,filetypes=None):打开一个【另存为】对话框。filetypes是要保存的文件类型,为一个列表 。
import tkinter
import tkinter.filedialog
#创建主窗口
win=tkinter.Tk()
win.title(string="打开文件和保存文件")
#打开一个【打开】对话框
def creatOpenFileDialog():
myDialog1.show()
#打开一个【另存为】对话框
def creatSaveAsDialog():
myDialog2.show()
#单击按钮后,即打开对话框
tkinter.Button(win,text="打开文件",command=creatOpenFileDialog).pack(side=tkinter.LEFT)
tkinter.Button(win,text="保存文件",command=creatSaveAsDialog).pack(side=tkinter.LEFT)
#设置文本框打开或者保存的文件类型
myFileTypes=[('Python files','*.py*.py'),('All files','*')]
#创建一个【打开】对话框
myDialog1=tkinter.filedialog.Open(win,filetypes=myFileTypes)
#创建一个【另存为】对话框
myDialog2=tkinter.filedialog.SaveAs(win,filetypes=myFileTypes)
#开始程序循环
win.mainloop()
打开
colorchooser模块
colorchooser模块用于打开【颜色】对话框。
(1)skcolor(coloc=None):直接打开一个【颜色】对话框,不需要父控件与show()方法。返回值是一个元组,其格式为((R,G,B),"#rrggbb")。
(2)Chooser(master=None):打开一个【颜色】对话框。返回值是一个元组,其格式为((R,G,B),"#rrggbb")。
from tkinter import *
import tkinter.colorchooser,tkinter.messagebox
#创建主窗口
win=Tk()
win.title(string="颜色对话框")
#打开一个【颜色】对话框
def openColorDialog():
#显示颜色对话框
color=colorDialog.show()
#显示所选择颜色的RGB值
tkinter.messagebox.showinfo("提示","你选择的颜色是:"+color[1]+"\n"+"R="+str(color[0][0])+"G="+str(color[0][1])+"B="+str(color[0][2]))
#单击按钮后,即打开对话框
Button(win,text="打开【颜色】对话框",command=openColorDialog).pack(side=LEFT)
#创建一个【颜色对话框】
colorDialog=tkinter.colorchooser.Chooser(win)
#开始程序循环
win.mainloop()