Python 模块EasyGui详细介绍


Posted in Python onFebruary 19, 2017

Python 模块EasyGui详细介绍

前言:

在Windows想用Python开发一些简单的界面,所以找到了很容易上手的EasyGui库。下面就分享一下简单的使用吧。

参考的链接:官网Tutorial

接下来,我将从简单,到复杂一点点的演示如何使用这个模块。希望能给刚接触easygui的你一点帮助 :-)

msgBox,ccbox,ynbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 一个最简单的类似于Java的MessageBox的小窗口

import easygui
title = easygui.msgbox(msg='提示信息',title='标题部分',ok_button="OOK")

msg = easygui.msgbox('Hello Easy GUI')
print '返回值:' + msg

ccbox = easygui.ccbox("here is Continue | Cancel Box!")
print '返回值:' + str(ccbox)

ynbox = easygui.ynbox("Yes Or No Button Box!")
print '返回值: ' + str(ynbox)

bottonbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 能让你最初选择的简单的界面,第二个参数为一个列表

import easygui

# choice = easygui.buttonbox("这里是提示的语句信息:\n", title='三选一', choices=['one' \
#   , 'two', 'three'])
# easygui.msgbox('您选择了:' + str(choice))
#
# # choices 内只能有两个参数 ,选择哪一个将返回1,否则返回0
# bool = easygui.boolbox('msg提示信息', title='标题部分', choices=['A', 'B'])
# easygui.msgbox(bool)

image = 'me.jpg'
msg = 'Here is my photo,a python fan also'
choices = ['Yes','No',"Not Sure"]
title = 'Am I handsome?'
easygui.buttonbox(msg,title,image=image,choices=choices)

choicebox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 从一个列表中选择其中的一个,会有返回值的出现

import easygui

msg = '选择此列表项中你喜欢的一个吧'
title = '必须选择一个哦'
choices = ['1','2','3','4','5','6','7']
answer = easygui.choicebox(msg,title,choices)
print '你选择了 :' + str(answer)

enterbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 可以满足用户输入的控件

import easygui

st = easygui.enterbox("请输入一段文字:\n")
print "您输入了: " + str(st)

mutilchoicebox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 一个多选的列表项.呵呵了,这个版本貌似有问题。我的多选并没有真正的实现

import easygui

msg = '选择此列表项中你喜欢的一个吧'
title = '必须选择一个哦'
choices = (1,2,3,4,5,6,7,8,9)
answer1 = easygui.multchoicebox(msg,title,choices)
for item in answer1:
  print item

intenterbox,passenterbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 提供给用户简单的输入框,只能是给定的数字的范围

import easygui

msg = '请输入一个数字,范围在0-100'
title = '限制为数字类型'
lowerbound = 0
upperbound = 100
default = ''
image = 'me.jpg'
result = easygui.integerbox(msg,title,default,lowerbound,upperbound,image)
print result

textbox,codebox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = easygui 还提供了对大量文本的支持,以及对代码文本的支持

import easygui

msg = '大文本的支持'
title = 'Text Code'
text = 'abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789-/'
textContent = easygui.textbox(msg,title,text)
codeContent = easygui.codebox(msg,title,)
print textContent
print codeContent

# D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/text_codebox.py
# abcdefghijklmnopqrstuvwxyzABCDEFGHJIKLMNOPQRSTUVWXYZ0123456789-/
# public class HelloWorld{
#  public static void main(String []args) {
#    System.out.println("Hello World!");
#  }
# }
#
# Process finished with exit code 0

diropenbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 该函数用于提供一个对话框,返回用户选择的目录名,该目录名是带有完整的路径的
# 选择Cancel的话返回值默认为None

import easygui

msg = '选择一个文件,将会返回该文件的完整的目录哦'
title = ' 文件选择对话框'
default = r'F:\flappy-bird'
full_file_path = easygui.diropenbox(msg, title, default)
print '选择的文件的完整的路径为:' + str(full_file_path)


# D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/diropenbox.py
# 选择的文件的完整的路径为:F:\flappy-bird
#
# Process finished with exit code 0

fileopenbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 此方法用于提供一个对话框,返回用户选择的文件名,带有完整的路径,选择Cancel返回None
#       default="c:/fishc/*.py" 即显示 C:\fishc 文件夹下所有的 Python 文件。
#       default="c:/fishc/test*.py" 即显示 C:\fishc 文件夹下所有的名字以 test 开头的 Python 文件。
#       filetypes参数是包含文件掩码的字符串的列表,记住是个列表。如:filetypes = ["*.css", ["*.htm", "*.html", "HTML files"]]

import easygui

msg = '返回选择的文件的完整的路径,选择Cancel则返回None'
title = '文件选择器'
default = 'E:/Code/Python/MyTestSet/easygui/*.py'

opened_files = easygui.fileopenbox(msg,title,default,multiple=True)
for item in opened_files:
  print item



# D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/fileopenbox.py
# E:\Code\Python\MyTestSet\easygui_\me.jpg
# E:\Code\Python\MyTestSet\easygui_\buttonbox.py
# E:\Code\Python\MyTestSet\easygui_\choicesbox.py
# E:\Code\Python\MyTestSet\easygui_\diropenbox.py
# E:\Code\Python\MyTestSet\easygui_\enterbox.py
# E:\Code\Python\MyTestSet\easygui_\fileopenbox.py
# E:\Code\Python\MyTestSet\easygui_\integerbox.py
#
# Process finished with exit code 0

filesavebox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 该函数提供了一个对话框,让用户选择文件需要保存的路径(带完整的路径)选择Cancel返回None
#        default 参数应该包含一个文件名(例如当前需要保存的文件名),当然你也可以设置为空的,或者包含一个文件格式掩码的通配符。
#        filetypes参考如上面的fileopenbox

import easygui

msg = 'Save your file'
title = "to Save File"
default = 'E:/Code/Python/MyTestSet/easygui/newFile.*'
savedfile = easygui.filesavebox(msg,title,default)
print savedfile
print '当然了,这里仅仅是一个完整的路径加上文件名而已,并不会真的保存成一个文件,保存文件需要用到其他的库'



# D:\Software\Python2\python.exe E:/Code/Python/MyTestSet/easygui_/filesavebox.py
# E:\Code\Python\MyTestSet\easygui_\newFile.doc
# 当然了,这里仅仅是一个完整的路径加上文件名而已,并不会真的保存成一个文件,保存文件需要用到其他的库
#
# Process finished with exit code 0

exceptionbox

# coding:utf-8

#  __author__ = 'Mark sinoberg'
#  __date__ = '2016/5/25'
#  __Desc__ = 这是一个很好用的对话框,当应用程序出现异常的时候,就可以通过这个来给与用户友好的界面提示

import easygui

try:
  int('Exception')
except:
  easygui.exceptionbox('int类型数据转换错误!请检查您的数据类型!')

# 会弹出一个界面,内容信息可以自己定义,如上面。下面的内容就是追踪到的出错信息
# Traceback (most recent call last):
#  File "E:/Code/Python/MyTestSet/easygui_/exceptionbox.py", line 10, in <module>
#   int('Exception')
# ValueError: invalid literal for int() with base 10: 'Exception'

总结

看完了这些示例,想必对easygui开发简单的桌面小程序很有信心了吧。(^__^) 嘻嘻……

但是咧,对于比较复杂的任务,只是掌握了这些基础的是远远不够的。所以我们还需要挖掘一下Python其他的相关的模块。这样在实际开发的时候,就可以根据任务的难易程度选择最合适的模块进行开发了。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Python 相关文章推荐
为python设置socket代理的方法
Jan 14 Python
Python下rrdtool模块的基本使用方法
Nov 13 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
Python文件监听工具pyinotify与watchdog实例
Oct 15 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
Dec 04 Python
Python并发:多线程与多进程的详解
Jan 24 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
使用python远程操作linux过程解析
Dec 04 Python
python网络编程:socketserver的基本使用方法实例分析
Apr 09 Python
使用K.function()调试keras操作
Jun 17 Python
Python建造者模式案例运行原理解析
Jun 29 Python
python 多进程和协程配合使用写入数据
Oct 30 Python
Python中字符串格式化str.format的详细介绍
Feb 17 #Python
Python爬虫:通过关键字爬取百度图片
Feb 17 #Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 #Python
浅谈python中的实例方法、类方法和静态方法
Feb 17 #Python
Python之日期与时间处理模块(date和datetime)
Feb 16 #Python
python字符串中的单双引
Feb 16 #Python
使用PyV8在Python爬虫中执行js代码
Feb 16 #Python
You might like
PHP中的cookie
2006/11/26 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
载入进度条 效果
2006/07/08 Javascript
Javascript玩转继承(三)
2014/05/08 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
javascript设计模式之策略模式学习笔记
2017/02/15 Javascript
vue使用echarts图表的详细方法
2018/10/22 Javascript
node.js实现简单的压缩/解压缩功能示例
2019/11/05 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
[01:34]2016国际邀请赛中国区预选赛IG战队教练采访
2016/06/27 DOTA
Python设计模式之工厂模式简单示例
2018/01/09 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
python实现简单tftp(基于udp协议)
2018/07/30 Python
Python PyQt5 Pycharm 环境搭建及配置详解(图文教程)
2019/07/16 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
python同义词替换的实现(jieba分词)
2020/01/21 Python
Django 删除upload_to文件的步骤
2020/03/30 Python
Python opencv相机标定实现原理及步骤详解
2020/04/09 Python
Pycharm2020最新激活码|永久激活(附最新激活码和插件的详细教程)
2020/09/29 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
2021/02/05 Python
CSS3 clip-path 用法介绍详解
2018/03/01 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
西班牙床垫网上商店:Colchones.es
2018/05/06 全球购物
程序运行正确, 但退出时却"core dump"了,怎么回事
2014/02/19 面试题
职工擅自离岗检讨书
2014/09/23 职场文书
领导干部群众路线对照检查材料
2014/11/05 职场文书
2014员工聘用协议书(最新版)
2014/11/24 职场文书
办公室岗位职责
2015/02/04 职场文书
Redis 持久化 RDB 与 AOF的执行过程
2021/11/07 Redis
解析探秘fescar分布式事务实现原理
2022/02/28 Java/Android