Python零基础入门之Tkinter的对话框

这篇博客主要是总结一下Tkinter中的对话框的使用,值得一提的是自从python3.0之后关于关于对话框的模块(messagebox、filedialog、colorchooser)都被收归到了tkinter的麾下,也就是说在import模块的时候需要注意一下。 
Tkinter提供了三种标准的对话框模块: 
1.messagebox 
2.filedialog 
3.colorchooser 
下面一次介绍这三种对话框: 
1.mesaagebox

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()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

运行效果图: 
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

上面这段代码分别使用了messagebox中的对话框函数,下面总结一下上述函数: 
1.参数 
所有这些函数都有相同的参数: 
(1)title:设置标题栏的文本 
(2)message:设置对话框的主要文本内容,可以用’\n’来实现换行 
(3)options:可以设置选项和含义

这里写图片描述

2.返回值 
askokcancel()、askretrycancel()、askyesno()返回布尔类型的值

2.filedialog 
文件对话框,主要用于打开或者保存文件

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

def callback():
     fileName = filedialog.askopenfilename()
     print(fileName)
Button(root,text='打开文本',command=callback).pack()
mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行效果图:

这里写图片描述
总结一下filedialog对话框:

(1).参数 
两个函数可供设置的选项是一样的

这里写图片描述

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

3.colorchooser 
提供一个用户选择颜色的界面

import tkinter.colorchooser
from tkinter import *

root = Tk()

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

Button(root,text="选择颜色",command=callback).pack()
mainloop()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

运行效果图:

这里写图片描述 
总结一下这个函数:

1.参数 
askcolor(color,**option)函数中的color参数用于指定初始化的颜色 
默认颜色为浅灰色

这里写图片描述
2.返回值 
如果用户选择一个颜色并单机确定按钮后,返回值是一个二元组,第一个元素是选择的 
RGB颜色值,第2个元素是对应的十六进制颜色值 
如果用户单击取消按钮,那么返回值为(None,None)

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

 

 

本文转自https://blog.csdn.net/bemorequiet/article/details/54744511

posted @ 2018-05-16 21:59  BruceLong  阅读(3626)  评论(0编辑  收藏  举报