EasyGui学习文档

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

EasyGui学习文档翻译改编者小甲鱼排版天涯客本教程出自鱼C工作室(本文档由LATEX排版系统编辑而成,编辑环境:TEXLive2014+TEXmaker)2015-01-13Contents1安装EasyGui32建议不要在IDLE上运行EasyGui33一个简单的例子34EasyGui的各种功能演示45导入EasyGui46使用EasyGui57EasyGui函数的默认参数58使用关键字参数调用EasyGui的函数69使用按钮组件79.1msgbox()...............................................79.2ccbox()................................................79.3ynbox()................................................89.4buttonbox()..............................................89.5indexbox()...............................................89.6boolbox()...............................................8110如何在buttonbox里边显示图片911为用户提供一系列选项911.1choicebox()..............................................911.2multchoicebox()............................................1012让用户输入消息1012.1enterbox()...............................................1012.2integerbox()..............................................1112.3multenterbox()............................................1113让用户输入密码1213.1passwordbox()............................................1213.2multpasswordbox()..........................................1314显示文本1314.1textbox()...............................................1314.2codebox()...............................................1415目录与文件1415.1diropenbox().............................................1415.2fileopenbox().............................................1515.3filesavebox()..............................................1616记住用户的设置1616.1EgStore................................................1617捕获异常1717.1exceptionbox()............................................1721安装EasyGui官网最新版:easygui-0.97.zip使用标准方法安装:1.使用命令窗口切换到easygui-docs-0.96的目录下2.Windows下执行C:\Python33\python.exesetup.pyinstall3.Linux或Mac下sudo/usr/bin/python33setup.pyinstall2建议不要在IDLE上运行EasyGuiEasyGui是运行在Tkinter上并拥有自身的事件循环,而IDLE也是Tkinter写的一个应用程序并也拥有自身的事件循环.因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果.因此如果你发现你的EasyGui程序有这样的问题,请尝试在IDLE外去运行你的程序.3一个简单的例子在EasyGui中,所有的GUI互动均是通过简单的函数调用,下边一个简单的例子告诉你EasyGui确实很Easy!1importeasyguiasg2importsys34while1:5g.msgbox(”嗨,欢迎进入第一个界面小游戏^_^”)67msg=”请问你希望在鱼C工作室学习到什么知识呢?”8title=”小游戏互动”9choices=[”谈恋爱”,”编程”,”OOXX”,”琴棋书画”]1011choice=g.choicebox(msg,title,choices)1213#notethatweconvertchoicetostring,incase14#theusercancelledthechoice,andwegotNone.15g.msgbox(”你的选择是:”+str(choice),”结果”)31617msg=”你希望重新开始小游戏吗?”18title=”请选择”1920ifg.ccbox(msg,title):#showaContinue/Canceldialog21pass#userchoseContinue22else:23sys.exit(0)#userchoseCancel4EasyGui的各种功能演示要运行EasyGui的演示程序,在命令行调用EasyGui是这样的:1C:\Python33\python.exeeasygui.py或者你可以从IDE(例如IDLE,PythonWin,Wing,等等)上来调用:1importeasyguiasg2g.egdemo()成功调用后你将可以尝试EasyGui拥有的各种功能,并将你选择的结果打印至控制台.5导入EasyGui为了使用EasyGui这个模,你应该先导入它.最简单的导入语句是:1importeasygui如果你使用上面这种形式导入的话,那么你使用EasyGui的函数的时候,必须在函数的前面加上前缀easygui,像这样:41easygui.msgbox(...)另一种选择是导入整个EasyGui包:1fromeasyguiimport*这使得我们更容易调用EasyGui的函数,你可以直接这样编写代码:1msgbox(...)第三种方案是使用类似下边的import语句:1importeasyguiasg这样可以让你保持EasyGui的命名空间,同时减少你的打字数量.导入之后你就可以这么调用EasyGui的函数:1g.msgbox(...)6使用EasyGui一旦你的模块导入EasyGui,GUI操作就是一个简单的调用EasyGui函数的几个参数的问题了.例如,使用EasyGui来实现著名的“你好,世界!”程序是这样的:1importeasyguiasg2g.msgbox(”Hello,␣world!”)7EasyGui函数的默认参数对于所有函数而言,前两个参数是消息和标题.按照这个规律,在某种情况下,这可能不是最有利于用户的安排(例如,对话框在获取目录和文件名的时候忽略消息参数),但我觉得保持这种一致性贯穿于所有的窗口部件是一种更为重要的考虑!5绝大部分的EasyGui函数都有默认参数,几乎所有的组件都会显示一个消息和标题.标题默认是空字符串,信息通常有一个简单的默认值.这使得你可以尽量少的去设置参数,比如msgbox()函数标题部分的参数就是可选的,所以你调用msgbox()的时候可以只指定一个消息参数,例如:1msgbox(’我爱小甲鱼^_^’)当然你也可以指定标题参数和消息参数,例如:1msgbox(’我爱小甲鱼^_^’,’鱼油心声’)在各类按钮组件里,默认的消息是“ShallIcontinue?”,所以你可以不带任何参数地去调用它们.这里我们演示不带任何参数地去调用ccbox(),当选择“cancel”或关闭窗口的时候返回一个布尔类型的值:1ifccbox():2pass#userchosetocontinue3else:4return#userchosetocancel8使用关键字参数调用EasyGui的函数调用EasyGui函数还可以使用关键字参数哦.(如忘了的童鞋翻出《零基础入门学习Python》第18讲自行脑补)现在假设你需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你仍可以使用关键字参数的方法指定choices参数(第三个参数)像这样:1choices=[’愿意’,’不愿意’,’有钱的时候愿意’]2reply=choicebox(’你愿意购买资源打包支持小甲鱼吗?’,choices=choices)69使用按钮组件根据需求,EasyGui在buttonbox()上建立了一系列的函数供调用.9.1msgbox()1msgbox(msg=’(Your␣message␣goes␣here)’,title=’␣’,ok_button=’OK’,image=None,root=None)msgbox()显示一个消息和提供一个“OK”按钮,你可以指定任意的消息和标题,你甚至可以重写“OK”按钮的内容.以下是msgbox()的实例函数:1defmsgbox(msg=”(Your␣message␣goes␣here)”,title=””,ok_button=”OK”):2....重写“OK”按钮最简单的方法是使用关键字参数:1msgbox(”我一定要学会编程!”,ok_button=”加油!”)9.2ccbox()1ccbox(msg=’Shall␣I␣continue?’,title=’␣’,choices=(’Continue’,’Cancel’),image=None)ccbox()提供一个选择:Continue或者Cancel,并相应的返回1(选中Continue)或者0(选中Cancel).注意ccbox()是返回整型的1或0,不是布尔类型的True或False.但你仍然可以这么写:71ifccbox(’要再来一次吗?’,choices=(’要啊要啊^_^’,’算了吧T_T’)):2msgbox(’不给玩了,再玩就玩坏了......’)3else:4sys.exit(0)#记得先importsys哈9.3ynbox()1ynbox(msg=’Shall␣I␣continue?’,title=’␣’,choices=(’Yes’,’No’),image=None)同上,都不知作者设计这两玩意儿搞啥.9.4buttonbox()1buttonbox(msg=’’,title=’␣’,choices=(’Button1’,’Button2’,’Button3’),image=None,root=None)可以使用buttonbox()定义自己的一组按钮,buttonbox()会显示一组你定义好的按钮.当用户点击任意一个按钮的时候,buttonbox()返回按钮的文本内容.如果用户取消取消或者关闭窗口,那么会返回默认选项(第一个选项).请看例子:9.5indexbox()1indexbox(msg=’Shall␣I␣continue?’,title=’␣’,choices=(’Yes’,’No’),image=None)基本跟上边一样,区别就是当用户选择第一个按钮的时候返回序号0,选择第二个按钮的时候返回序号1.9.6boolbox()1boolbox(msg=’Shall␣I␣continue?’,title=’␣’,choices=(’Ye

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功