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其他的相关的模块。这样在实际开发的时候,就可以根据任务的难易程度选择最合适的模块进行开发了。

时间: 2024-09-22 14:38:57

Python模块探秘之EasyGui的相关文章

Python模块探秘 Smtplib发送带有各种附件的邮件

这两天对Python的邮件模块比较感兴趣,于是就查了查资料.同时在实际的编码过程中也遇到了各种各样的问题.下面我就来分享一下我与smtplib的故事. 前提条件 我的上一篇博文里面讲解了,发送邮件必须的条件.这里同样是适用的.大致就是要开启邮箱的SMPT/POP服务等等.如果不明白,可以看看发送纯文本邮件.里面讲的还不错. :-) 核心知识点 因为今天主要讲解的是如何发送带有附件的邮件,那么核心肯定是附件了.怎么才能发附件呢? 其实我们换个思路,就不难理解了.因为我们发送邮件,经过了应用层–>>

Python模块探秘之smtplib,实现纯文本邮件的发送

今天学到了如何使用Python的smtplib库发送邮件,中间也是遇到了各种各样的错误和困难,还好都一一的解决了.下面来谈一谈我的这段经历. 配置你的邮箱 为什么要配置邮箱呢?具体要配置什么呢? 因为我们申请的一些免费邮箱都是默认不开启smtp/pop协议的. SMTP是发邮件使用到的计算机网络中应用层协议中的一个:而POP则是收邮件时使用到的计算机网络中的应用层协议的其中一个.这都是理论性的知识了,上过计算机网络这门课的想必都知道,就不多说了. 配置就是要开启这项服务.否则我们就不能实现用Py

python-如何进行Python优化使得Python模块能够得到2倍性能提升

问题描述 如何进行Python优化使得Python模块能够得到2倍性能提升 目前要对一个含有Python模块和C++模块的项目(Python模块调用C++模块)进行优化,对方公司希望我们团队实现一个提升2倍python模块性能的优化编译器 求问应用什么技术可以使得python编译器能够获得2倍性能提升并且不存在C扩展性弱的问题?(目前pypy虽然有5倍,6性能提升但是C扩展弱不支持我这个项目) 目前我考虑 去修改pypy的C扩展性,牺牲pypy一部分的性能提升空间,来换取它对C扩展模块的支持,或

Python模块搜索概念介绍及模块安装方法介绍

  这篇文章主要介绍了Python模块搜索概念介绍及模块安装方法介绍,本文详细讲解了import模块的运作原理,搜索路径的过程以及模块安装的多种方法,需要的朋友可以参考下 [import模块] 和C中的#include不同,Python中的import语句并不是简单的把一个文件插入另外一个文件. 导入其实是运行时的运算,程序第一次导入指定文件时,会执行以下步骤, 1. 找到模块文件 2. 编译成位码 3. 执行模块中的代码来创建所定义的模块 并生成.pyc字节码文件,这三个步骤只在程序执行时,模

python模块创建,如何封装C#中定义的函数

问题描述 python模块创建,如何封装C#中定义的函数 我的平台包含了python脚本编写和执行,其中我在平台中有一个函数是 public class FnValues { public int Pn; public string Fn; public string [] Values; } 而我在python脚本的模块函数中用到了这个函数: def Get_Meter_Reading(cs,a): fnValue1=FnValues(); fnValue1.Fn="30" fnVa

python模块安装问题-python模块的安装问题求大神指点

问题描述 python模块的安装问题求大神指点 如何在wins7-64位系统下安装rpy2模块,怎么设置r的环境,求大神指点,谢谢了 解决方案 Python安装PyGraphics包 (使用media模块)问题 解决方案二: http://blog.sina.com.cn/s/blog_6caea8bf0100vo9l.html

python模块之email: 电子邮件编码解码 (一、解码邮件)

python模块之email: 电子邮件编码解码 (一.解码邮件) python自带的email模块是个很有意思的东西,它可以对邮件编码解码,用来处理邮件非常好用. 处理邮件是一个很细致的工作,尤其是解码邮件,因为它的格式变化太多了,下面先看看一个邮件的源文件: Received: from 192.168.208.56 ( 192.168.208.56 [192.168.208.56] ) by ajax-webmail-wmsvr37 (Coremail) ; Thu, 12 Apr 200

python 模块 chardet下载方法及介绍

来源:http://blog.csdn.net/aqwd2008/article/details/7506007 python 模块 chardet下载及介绍 在处理字符串时,常常会遇到不知道字符串是何种编码,如果不知道字符串的编码就不能将字符串转换成需要的编码.面对多种不同编码的输入方式,是否会有一种有效的编码方式?chardet是一个非常优秀的编码识别模块. chardet 是python的第三方库,需要下载和安装.下载的地址有: 1.推荐地址: http://download.csdn.n

pyodbc 3.0.5发布 Python模块

pyodbc 是一个Python模块,它允许您使用ODBC连接到Windows.Linux 和 Mac OS X上的任何数据库.它实现了Python数据库API规范,并添加额外的功能使其简化数据库编程. pyodbc 3.0.5该版本修复了"功能序列"没有被清除的错误,以及目录函数执行准备SQL引起的错误. 软件信息:http://code.google.com/p/pyodbc/ 下载地址:http://code.google.com/p/pyodbc/downloads/list