小白学tkinter(标准对话框)

三种对话框模块:
messagebox(消息对话框)
filedialog(文件对话框)
colorchooser(颜色选择对话框)

一、messagebox(消息对话框)

#必须先导入这个模块
import tkinter.messagebox
from tkinter import *
tkinter.messagebox.askokcancel("FishC Demo",'发射导弹?')
tkinter.messagebox.askquestion("FishC Demo","买个优盘?")
tkinter.messagebox.askretrycancel("FishC Demo","启动失败,重试?")
tkinter.messagebox.askyesno("FishC Demo","我帅吗?")
tkinter.messagebox.showerror("FishC Demo","出错啦!")
tkinter.messagebox.showinfo("FishC Demo","2017新年快乐")
tkinter.messagebox.showwarning("FishC Demo","你在偷懒!")
mainloop()

小白学tkinter(标准对话框)_第1张图片
小白学tkinter(标准对话框)_第2张图片
小白学tkinter(标准对话框)_第3张图片
小白学tkinter(标准对话框)_第4张图片
小白学tkinter(标准对话框)_第5张图片
小白学tkinter(标准对话框)_第6张图片
上面这段代码分别使用了messagebox中的对话框函数,下面总结一下上述函数:
1.参数
所有这些函数都有相同的参数:
(1)title:设置标题栏的文本
(2)message:设置对话框的主要文本内容,可以用’\n’来实现换行
(3)options:可以设置选项和含义
小白学tkinter(标准对话框)_第7张图片
二、filedialog(文件对话框)
文件对话框,主要用于打开或者保存文件

import tkinter.filedialog
from tkinter import *
root = Tk()

def callback():
     fileName = filedialog.askopenfilename()
     print(fileName)
Button(root,text='打开文本',command=callback).pack()
mainloop()

小白学tkinter(标准对话框)_第8张图片


总结一下filedialog对话框:

提供了两个方法:askopenfilename(**option)和asksaveasfilename(**option),
这两个方法可供设置的选项是一样的。
小白学tkinter(标准对话框)_第9张图片

import tkinter.filedialog
from tkinter import *
root = Tk()

def callback():
     fileName = filedialog.askopenfilename(defaultextension = '.py',
                                           filetypes = [('GIF','.gif'),('JPG','.jpg'),('Python','.py')])
     print(fileName)
Button(root,text='打开文本',command=callback).pack()
mainloop()

三、colorchooser (颜色选择对话框)
提供一个用户选择颜色的界面

import tkinter.colorchooser
from tkinter import *

root = Tk()

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

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

小白学tkinter(标准对话框)_第10张图片
askcolor(color,**option)函数中的color参数用于指定初始化的颜色
默认颜色为浅灰色
小白学tkinter(标准对话框)_第11张图片

你看了上述代码中关于导入模块的代码可能感到奇怪,明明导入了thinter下的所有模块,为什么还要单独导入messagebox、filedialog、colorchooser模块呢?这个我也不太清楚,不过不单独导入会报错,之后如果解决了这个问题会来及时补充。

你可能感兴趣的:(Tkinter学习)