这篇博客主要是总结一下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

Python零基础入门之Tkinter的对话框的更多相关文章

  1. Python 零基础入门

    Python 零基础入门 1.1 Python介绍 Python 是一门优雅且健壮的面向对象解释型计算机程序编程语言,具有面向对象.可升级.可扩展.可移植 语法简洁清晰易学.易读写.易维护.健壮性.通 ...

  2. 大牛整理最全Python零基础入门学习资料

    大牛整理最全Python零基础入门学习资料 发布时间:『 2017-11-12 11:56 』     帖子类别:『人工智能』  阅读次数:3504 (本文『大牛整理最全Python零基础入门学习资料 ...

  3. 猜数字和飞机大战(Python零基础入门)

    前言 最近有很多零基础初学者问我,有没有适合零基础学习案例,毕竟零基础入门的知识点是非常的枯燥乏味的,如果没有实现效果展示出来,感觉学习起来特别的累,今天就给大家介绍两个零基础入门的基础案例:猜数字游 ...

  4. Python运算符 - Python零基础入门教程

    目录 一.算术运算符 二.赋值运算符 三.比较运算符 四.运算符的优先等级 五.重点总结 六.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python ...

  5. Python break/continue - Python零基础入门教程

    目录 一.break 二.continue 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python wh ...

  6. Python for循环 - Python零基础入门教程

    目录 一.for 循环语法 二.for 循环实战 三.重点总结 四.猜你喜欢 零基础 Python 学习路线推荐 : Python 学习目录 >> Python 基础入门 在 Python ...

  7. Python零基础入门(安装步骤,验证方式, 简单操作)

    本篇文章适合新人小白初步了解Python,涵盖Python的介绍.安装以及简单的基础操作.  1.Python简介 Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言.它的设 ...

  8. Python零基础入门必知

    Python自学知识点总结 //2018.10.09 1. Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido ...

  9. 整理的Python零基础入门!转载他人的!

    安装Python 前往 官网下载 对应平台对应工具.另外Python2.7版本和3.3版本并不兼容,所以开发时请注意使用Python的版本. 作为Mac OS X使用者,其实更推荐 PyCharm I ...

随机推荐

  1. SQL操作json类型数据的函数

    MySQL5.7之后对json数据格式进行了函数支持 Json_contains(字段名, '值') 1.表中json格式的某个字段 2.json里的某个键值 Json_search(字段名, 'on ...

  2. 【NLP CS224N笔记】汇总

    [NLP CS224N笔记]Lecture 1 - Introduction of NLP [NLP CS224N笔记]Lecture 2 - Word Vector Representations: ...

  3. 第二节,surf特征检测关键点,实现图片拼接

    初级的图像拼接为将两幅图像简单的粘贴在一起,仅仅是图像几何空间的转移和合成,与图像内容无关:高级图像拼接也叫做基于特征匹配的图像拼接,拼接时消去两幅图像相同的部分,实现拼接全景图. 实现步骤: 1.采 ...

  4. 不指定虚拟路径的前提下通过http访问pdf、图片等文件

    通常我们通过http访问图片或者pdf的时候都是将文件上传到指定文件夹下面,然后通过配置虚拟路径来访问指定的资源. 在不配置虚拟路径的情况下,我们通过获取到response的outpurstream, ...

  5. ROS tf 两个常用的函数

    /** \brief Get the transform between two frames by frame ID.   * \param target_frame The frame to wh ...

  6. requests库入门05-参数类型

    一个接口基本都需要传入参数,有的参数必填,有的不必填. params参数 使用params参数来传递接口所需要的参数.一般用在get请求中,url参数是通过?拼接,?前面是接口的地址,之后是请求的参数 ...

  7. VUE环境部署

     npm install vue-router --save 下载node.js安装https://nodejs.org/en/ npm install -g cnpm --registry=http ...

  8. java.lang.StackOverflowError 解决方法

    ♦ java.lang.StackOverflowError : 由于深度递归,抛出此错误以指示应用程序的堆栈已耗尽. 在递归中,一个方法在执行期间调用自己.递归被认为是一种强大的通用编程技术,但必须 ...

  9. tomcat 嵌入式

    背景 开源世界真是有意思,竟然还有这种玩法.以前一直想bs程序如何像cs程序作为安装包形式,这个就是个解决方案. 知识点 将tomcat嵌入到主程序中进行运行,而不是像以前将一个web项目copy到t ...

  10. HBase的replication原理及部署

    一.hbase replication原理 hbase 的复制方式是 master-push 方式,即主集群推的方式,主要是因为每个rs都有自己的WAL. 一个master集群可以复制给多个从集群,复 ...