翻译改编自官方文档:http://easygui.sourceforge.net/tutorial/index.html

翻译改编者:小甲鱼,本文欢迎转载,转载请保证原文的完整性!

演示使用 Python 3.3.3 版本

使用标准方法安装:

使用命令窗口切换到easygui-docs-0.96的目录下

【Windows下】执行C:\Python33\python.exe setup.py install

【Linux或Mac下】sudo /usr/bin/python33 setup.py install

1. 建议不要在 IDLE 上运行 EasyGui

EasyGui 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter

写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGui

程序有这样的问题,请尝试在 IDLE 外去运行你的程序。

2. 一个简单的例子

在 EasyGui 中,所有的 GUI 互动均是通过简单的函数调用,下边一个简单的例子告诉你 EasyGui 确实很 Easy!

Python代码  

import easygui as g

import sys

while 1:

g.msgbox("嗨,欢迎进入第一个界面小游戏")

msg = "请问你希望在鱼C工作室学习到什么知识呢"

title="小游戏互动"

choices=["谈恋爱","编程","OOXX","琴棋书画"]

choice=g.choicebox(msg,title,choices)

#note that we convert choice to string,in case

#the user cancelled the choice,and we got None

g.msgbox("你的选择是:"+str(choice),"结果")

msg="你希望重新开始小游戏吗?"

title=" 请选择"

if g.ccbox(msg,title):  #show a Contiue/Cancel dialog

pass #user chose Contonue

else:

sys.exit(0)  #user chose Cancel

3. EasyGui 的各种功能演示

要运行 EasyGui 的演示程序,在命令行调用 EasyGui 是这样的:

Python代码  

C:\Python33\python.exe easygui.py

或者你可以从 IDE(例如 IDLE, PythonWin, Wing, 等等)上来调用:

Python代码  

>>> import easygui as g

>>> g.egdemo()

成功调用后你将可以尝试 EasyGui 拥有的各种功能,并将你选择的结果打印至控制台。

4. 导入 EasyGui

为了使用 EasyGui 这个模块,你应该先导入它。最简单的导入语句是:

import easygui

如果你使用上面这种形式导入的话,那么你使用 EasyGui 的函数的时候,必须在函数的前面加上前缀 easygui,像这样:

easygui.msgbox(...)

另一种选择是导入整个 EasyGui 包:

from easygui import *

这使得我们更容易调用 EasyGui 的函数,你可以直接这样编写代码:

msgbox(...)

第三种方案是使用类似下边的 import 语句:

import easygui as g

这样可以让你保持 EasyGui 的命名空间,同时减少你的打字数量。导入之后你就可以这么调用 EasyGui 的函数:

g.msgbox(...)

5. 使用 EasyGui

一旦你的模块导入 EasyGui,GUI 操作就是一个简单的调用 EasyGui 函数的几个参数的问题了。

例如,使用 EasyGui 来实现著名的“你好,世界!”程序是这样的:

import easygui as g

g.msgbox("Hello, world!")

6. EasyGui 函数的默认参数

对于所有函数而言,前两个参数是消息和标题。按照这个规律,在某种情况下,这可能不是最有利于用户的安排(例如,对话框在获取目录和文件名的时候忽略消息参数),但我觉得保持这种一致性贯穿于所有的窗口部件是一种更为重要的考虑!

绝大部分的 EasyGui 函数都有默认参数,几乎所有的组件都会显示一个消息和标题。标题默认是空字符串,信息通常有一个简单的默认值。

这使得你可以尽量少的去设置参数,比如 msgbox() 函数标题部分的参数就是可选的,所以你调用 msgbox() 的时候可以只指定一个消息参数,例如:

>>> msgbox('我爱小甲鱼^_^')

当然你也可以指定标题参数和消息参数,例如:

>>> msgbox('我爱小甲鱼^_^', '鱼油心声')

在各类按钮组件里,默认的消息是"Shall I continue?",所以你可以不带任何参数地去调用它们。这里我们演示不带任何参数地去调用 ccbox(),当选择"cancel"或关闭窗口的时候返回一个布尔类型的值:

if ccbox():

pass         # user chose to continue

else:

return      # user chose to cancel

7. 使用关键字参数调用 EasyGui 的函数

调用 EasyGui 函数还可以使用关键字参数哦。(如忘了的童鞋翻出《零基础入门学习Python》第18讲自行脑补)

现在假设你需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你仍可以使用关键字参数的方法指定 choices 参数(第三个参数),像这样:

>>> choices = ['愿意', '不愿意', '有钱的时候愿意']

>>> reply = choicebox('你愿意购买资源打包支持小甲鱼吗?', choices = choices)

8. 使用按钮组件

根据需求,EasyGui 在 buttonbox() 上建立了一系列的函数供调用。

8.1 msgbox()

msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None)

msgbox() 显示一个消息和提供一个"OK"按钮,你可以指定任意的消息和标题,你甚至可以重写"OK"按钮的内容。

以下是 msgbox() 的实例函数:

def msgbox(msg="(Your message goes here)", title="", ok_button="OK"):

....

重写"OK"按钮最简单的方法是使用关键字参数:

>>> msgbox("我一定要学会编程!", ok_button="加油!")

8.2 ccbox()

ccbox(msg='Shall I continue?', title=' ', choices=('Continue', 'Cancel'), image=None)

ccbox() 提供一个选择:Continue 或者 Cancel,并相应的返回 1(选中Continue)或者 0(选中Cancel)。

注意 ccbox() 是返回整型的 1 或 0,不是布尔类型的 True 或 False。但你仍然可以这么写:

if ccbox('要再来一次吗?', choices=('要啊要啊^_^', '算了吧T_T')):

msgbox('不给玩了,再玩就玩坏了......')

else:

sys.exit(0) # 记得先 import sys 哈

8.3 ynbox()

ynbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

同上,都不知作者设计这两玩意儿搞啥......

8.4 buttonbox()

buttonbox(msg='', title=' ', choices=('Button1', 'Button2', 'Button3'), image=None, root=None)

可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组你定义好的按钮。

当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。如果用户取消取消或者关闭窗口,那么会返回默认选项(第一个选项)。请看例子:

8.5 indexbox()

indexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

基本跟上边一样,区别就是当用户选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1。

8.6 boolbox()

boolbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None)

如果第一个按钮被选中则返回 1,否则返回 0。

9. 如何在 buttonbox 里边显示图片

当你调用一个 buttonbox 函数(例如 msgbox(), ynbox(), indexbox() 等等)的时候,你还可以为关键字参数 image 赋值,这是设置一个 .gif 格式的图像(注意仅支持 GIF 格式哦)

10. 为用户提供一系列选项

10.1 choicebox()

choicebox(msg='Pick something.', title=' ', choices=())

按钮组件方便提供用户一个简单的按钮选项,但如果有很多选项,或者选项的内容特别长的话,更好的策略是为它们提供一个可选择的列表。

choicebox() 为用户提供了一个可选择的列表,使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。

另外还可以使用键盘来选择其中一个选项(比较纠结,但一点儿都不重要):

例如当按下键盘上的"g"键,将会选中的第一个以"g"开头的选项。再次按下"g"键,则会选中下一个以"g"开头的选项。在选中最后一个以"g"开头的选项的时候,再次按下"g"键将重新回到在列表的开头的第一个以"g"开头的选项。

如果选项中没有以"g"开头的,则会选中字符排序在"g"之前("f")的那个字符开头的选项

如果选项中没有字符的排序在"g"之前的,那么在列表中第一个元素将会被选中。

综合我们之前学习的文件功能,举个高达上的例子(源代码在第35讲的课后作业中^_^):

python小甲鱼安装方法_【Python】easygui小甲鱼相关推荐

  1. python os模块安装方法_基于python中pygame模块的Linux下安装过程(详解)

    一.使用pip安装Python包 大多数较新的Python版本都自带pip,因此首先可检查系统是否已经安装了pip.在Python3中,pip有时被称为pip3. 1.在Linux和OS X系统中检查 ...

  2. python软件如何安装方法_【新手必看】Python软件下载及安装教程

    原标题:[新手必看]Python软件下载及安装教程 Python下载:免费开源 官网地址:https://www.python.org/downloads/ 下载对应版本Python:python-3 ...

  3. 微信公众账号后台怎么解除小程序_微信小程序怎么注销账号_微信小程序注销方法_快吧小程序...

    微信小程序一直存在一个问题:开发者不能注销自己的小程序.之前当开发者需要彻底清除小程序信息时,只能够通过暂停服务或关闭"允许被搜索"的方式曲线救国.现在,这个问题终于解决了. 在微 ...

  4. python学生管理系统(函数方法)_(python函数)学生管理系统

    def menu(): print("-----学生管理系统v1.0-----") print("1. 添加学生") print("2. 删除学生&q ...

  5. python charm下载安装教程-Python及Pycharm安装方法图文教程

    Python及Pycharm安装方法,供大家参考,具体内容如下 1.任务简介 为了学习Python我今天对它进行了安装,整个安装过程忘了截图,故我在虚拟机中重新安装了一遍,并将Python及Pycha ...

  6. python库的安装方法_Python库的安装方法

    Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...

  7. python模块下载过程_常用的python模块及安装方法

    bsddb3:BerkeleyDB的连接组件 Cheetah-1.0:我比较喜欢这个版本的cheetah cherrypy:一个WEB framework ctypes:用来调用动态链接库 DBUti ...

  8. python安装方法_【Python教程】Windows10 安装Python

    在此教程中,我们将学习一步一步在windows10 系统安装Python环境. 首先访问官网: https://www.python.org/downloads/ 点击下载,下载安装包.双击后有两个选 ...

  9. python安装方法_听说你安装Python包很慢,试试这个方法

    使用Python有快五年了,最近这一年多,经常听到大家说在安装python第三方包很慢很慢.比如这速度,每秒十几kb而网络正常的情况下,pip下载的速度至少应该每秒几百kb才对,甚至还有可能更快,比如 ...

最新文章

  1. 如何 搭建 RMAN 备份平台
  2. 1470篇!CVPR2020结果出炉(附13篇论文链接/开源代码/解读)
  3. 超赞!2021年最惊艳的38篇AI论文!
  4. Nat. Commun.速递:合群者有着相似的大脑活动
  5. Qt Creator 代码自动补全设置
  6. Hypersonic SQL开源数据库方向比较流行的纯Java开发的关系型数据库
  7. iptables学习(2)
  8. 自制hdmi线一头改vga图_东莞VGA数据线厂商价格
  9. Windows Mobile和Wince(Windows Embedded CE )下使用.NET Compact Framework下注册表导出工具的开发...
  10. [引]VS2005 主题(Theme)和外观(skin)帮助文档:主题和外观概述
  11. 步进电机和伺服电机的区别
  12. cisco路由器模式
  13. CS模式,客户端页面加载
  14. linux 释放内存
  15. 2021-2027全球与中国工程项目物流市场现状及未来发展趋势
  16. Flutter面试总结(2022)
  17. 为什么HATEOAS?
  18. 微软抄袭 AppGet 始末,开源普法任重道远
  19. 登录注册的测试点分析
  20. 文献管理软件Mendeley最新使用指南看这里!

热门文章

  1. CentOS安装pycurl报错
  2. 最新论文笔记(+21):Privacy-Preserving Byzantine-Robust Federated Learning via Blockchain Systems/ TIFS2022
  3. 服务器负载均衡算法之哈希算法
  4. Markdown 编辑器
  5. 收支系统php,财务收支管理软件系统
  6. 国产Excel开发组件Spire.XLS【转换】教程(4):C#/VB.NET:将 Excel 转换为图像
  7. 使用SSM+easyui做个简单的增删改查
  8. word 2010打不开03格式文档解决办法
  9. 基于服务器的p2p协议实现,基于P2P协议的文件服务器技术.PDF
  10. Kubernetes 原理剖析与实战08 配置管理:Kubernete 管理业务配置方式有哪些?