logo资料库

EasyGUI学习文档【已经分好目录】【超详细中文版】【Word版本】【小甲鱼翻译】【本人亲自整理目录内容】.docx

第1页 / 共20页
第2页 / 共20页
第3页 / 共20页
第4页 / 共20页
第5页 / 共20页
第6页 / 共20页
第7页 / 共20页
第8页 / 共20页
资料共20页,剩余部分请下载后查看
1 安装 EasyGui
2 建议不要在 IDLE 上运行 EasyGui
3 一个简单的例子
4 EasyGui 的各种功能演示
5 导入 EasyGui
6 使用 EasyGui
7 EasyGui 函数的默认参数
8 使用关键字参数调用 EasyGui 的函数
9 使用按钮组件
9.1 msgbox()
9.2 ccbox()
9.3 ynbox()
9.4 buttonbox()
9.5 indexbox()
9.6 boolbox()
10. 如何在 buttonbox 里边显示图片
11. 为用户提供一系列选项
11.1 choicebox()
11.2 multchoicebox()
12. 让用户输入消息
12.1 enterbox()
12.2 integerbox()
12.3 multenterbox()
13 让用户输入密码
13.1 passwordbox()
13.2 multpasswordbox()
14. 显示文本
14.1 textbox()
14.2 codebox()
15. 目录与文件
15.1 diropenbox()
15.2 fileopenbox()
15.3 filesavebox()
16. 记住用户的设置
17. 捕获异常
目录 11.1 13.1 13.2 14.1 4 6 7 9.2 9.3 9.4 9.5 9.6 buttonbox()................................................................................................................. 8 9 使用按钮组件......................................................................................................................7 3 一个简单的例子................................................................................................................3 1 安装EasyGui.................................................................................................................... 3 2 建议不要在IDLE 上运行EasyGui................................................................................3 EasyGui 的各种功能演示................................................................................................ 4 5 导入EasyGui.................................................................................................................... 5 使用EasyGui................................................................................................................ 5 EasyGui 函数的默认参数................................................................................................ 6 8 使用关键字参数调用EasyGui 的函数..........................................................................6 9.1 msgbox().................................................................................................................... 7 ccbox()........................................................................................................................8 ynbox()....................................................................................................................... 8 indexbox()................................................................................................................9 boolbox()....................................................................................................................9 10. 如何在buttonbox 里边显示图片................................................................................ 9 choicebox()............................................................................................................ 10 11.2 multchoicebox().....................................................................................................11 enterbox().............................................................................................................. 12 integerbox()........................................................................................................... 12 passwordbox().....................................................................................................13 multpasswordbox().............................................................................................14 textbox().................................................................................................................14 11. 为用户提供一系列选项...............................................................................................10 12. 让用户输入消息...........................................................................................................12 13 让用户输入密码............................................................................................................13 14. 显示文本.......................................................................................................................14 12.3 multenterbox()........................................................................................................12 12.1 12.2
15. 目录与文件...................................................................................................................15 codebox()............................................................................................................... 15 diropenbox()..........................................................................................................15 fileopenbox()..........................................................................................................16 filesavebox().......................................................................................................... 17 14.2 15.1 15.2 15.3 16. 记住用户的设置.........................................................................................................18 EgStore................................................................................................................................. 18 17. 捕获异常.......................................................................................................................19
翻译改编自官方文档:http://easygui.sourceforge.net/tutorial/index.html 翻译改编者:小甲鱼,本文欢迎转载,转载请保证原文的完整性! 演示使用 Python 3.3.3 版本 安装EasyGui 官网:http://easygui.sourceforge.net easygui-0.96.zip 最新版: 使用标准方法安装:  使用命令窗口切换到 easygui-docs-0.96 的目录下  【Windows 下】执行 C:\Python33\python.exe setup.py install  【Linux 或 Mac 下】sudo /usr/bin/python33 setup.py install 建议不要在IDLE 上运行EasyGui 1 2 EasyGui 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter 写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可 能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGui 程序有 这样的问题,请尝试在 IDLE 外去运行你的程序。 3 一个简单的例子 在 EasyGui 中,所有的 GUI 互动均是通过简单的函数调用,下边一个简单的例 子告诉你 EasyGui 确实很 Easy! 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 = "请选择" # user chose Continue if g.ccbox(msg, title): pass else: sys.exit(0) # user chose Cancel # show a Continue/Cancel dialog 4 EasyGui 的各种功能演示 要运行 EasyGui 的演示程序,在命令行调用 EasyGui 是这样的: C:\Python33\python.exe easygui.py 或者你可以从 IDE(例如 IDLE, PythonWin, Wing, 等等)上来调用: >>> import easygui as g >>> g.egdemo() 成功调用后你将可以尝试 EasyGui 拥有的各种功能,并将你选择的结果打印至 控制台。
5 导入EasyGui 为了使用 EasyGui 这个模块,你应该先导入它。最简单的导入语句是: import easygui 如果你使用上面这种形式导入的话,那么你使用 EasyGui 的函数的时候,必须 在函数的前面加上前缀 easygui,像这样: easygui.msgbox(...) 另一种选择是导入整个 EasyGui 包: from easygui import * 这使得我们更容易调用 EasyGui 的函数,你可以直接这样编写代码: msgbox(...) 第三种方案是使用类似下边的 import 语句: import easygui as g 这样可以让你保持 EasyGui 的命名空间,同时减少你的打字数量。导入之后你 就可以这么调用 EasyGui 的函数: g.msgbox(...) 6 使用EasyGui 一旦你的模块导入 EasyGui,GUI 操作就是一个简单的调用 EasyGui 函数的几 个参数的问题了。 例如,使用 EasyGui 来实现著名的“你好,世界!”程序是这样的: import easygui as g g.msgbox("Hello, world!")
7 EasyGui 函数的默认参数 对于所有函数而言,前两个参数是消息和标题。按照这个规律,在某种情况下, 这可能不是最有利于用户的安排(例如,对话框在获取目录和文件名的时候忽略 消息参数),但我觉得保持这种一致性贯穿于所有的窗口部件是一种更为重要的 考虑! 绝大部分的 EasyGui 函数都有默认参数,几乎所有的组件都会显示一个消息和 标题。标题默认是空字符串,信息通常有一个简单的默认值。 这使得你可以尽量少的去设置参数,比如 msgbox() 函数标题部分的参数就是可 选的,所以你调用 msgbox() 的时候可以只指定一个消息参数,例如: >>> msgbox('我爱小甲鱼^_^') 当然你也可以指定标题参数和消息参数,例如: >>> msgbox('我爱小甲鱼^_^', '鱼油心声') 在各类按钮组件里,默认的消息是"Shall I continue?",所以你可以不带任何 参数地去调用它们。这里我们演示不带任何参数地去调用 ccbox(),当选择"ca ncel"或关闭窗口的时候返回一个布尔类型的值: if ccbox(): pass else: return # user chose to continue # user chose to cancel 8 使用关键字参数调用EasyGui 的函数 调用 EasyGui 函数还可以使用关键字参数哦。(如忘了的童鞋翻出《零基础入门 学习 Python》第 18 讲自行脑补) 现在假设你需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你 仍可以使用关键字参数的方法指定 choices 参数(第三个参数),像这样: >>> choices = ['愿意', '不愿意', '有钱的时候愿意'] >>> reply = choicebox('你愿意购买资源打包支持小甲鱼吗?', choices = choices)
9 使用按钮组件 根据需求,EasyGui 在 buttonbox() 上建立了一系列的函数供调用。 9.1 msgbox() msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', ima ge=None, root=None) msgbox() 显示一个消息和提供一个"OK"按钮,你可以指定任意的消息和标题, 你甚至可以重写"OK"按钮的内容。 以下是 msgbox() 的实例函数: def msgbox(msg="(Your message goes here)", title="", ok_button="OK"): .... 重写"OK"按钮最简单的方法是使用关键字参数: >>> msgbox("我一定要学会编程!", ok_button="加油!")
9.2 ccbox() ccbox(msg='ShallIcontinue?',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 哈 9.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() 返回按钮的文本内容。如果用户 取消取消或者关闭窗口,那么会返回默认选项(第一个选项)。请看例子: 9.4 buttonbox() buttonbox(msg='',title='',choices=('Button1','Button2','Button3'), image=None, root=None) 可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组你定义
分享到:
收藏