原址:http://bbs.fishc.com/forum.php?mod=viewthread&tid=46069&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
1:EasyGui 的各种功能演示
要运行 EasyGui 的演示程序,
方法1: 在命令行cmd调用 EasyGui
C:\Python33\python.exe easygui.py
方法2: 在IDLE上运行
import easygui as g g.egdemo()
成功调用后你将可以尝试 EasyGui 拥有的各种功能,并将你选择的结果打印至控制台。
2:导入EasyGui
方法1:最简单的导入方法,使用 EasyGui 的函数的时候,必须在函数的前面加上前缀 easygui
import easygui easygui.msgbox("hello")
方法2:选择是导入整个 EasyGui 包, 这使得我们更容易调用 EasyGui 的函数,你可以直接这样编写代码
from easygui import * msgbox("hello")
方法3:推荐的方法.这样可以让你保持 EasyGui 的命名空间,同时减少你的打字数量。导入之后你就可以这么调用 EasyGui 的函数
import easygui as g g.msgbox("hello")
3:EasyGui 函数的默认参数
对于所有函数而言,前两个参数是消息和标题。绝大部分的 EasyGui 函数都有默认参数,几乎所有的组件都会显示一个消息和标题。标题默认是空字符串,信息通常有一个简单的默认值。
在各类按钮组件里,默认的消息是"Shall I continue?",所以可以不带任何参数地去调用它们。这里我们演示不带任何参数地去调用 ccbox(),当选择"cancel"或关闭窗口的时候返回一个布尔类型的值:
import easygui as g g.ccbox()
“Continue”--->返回1
“Cancel” --->返回0
4:使用关键字参数调用 EasyGui 的函数
假设需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你仍可以使用关键字参数的方法指定 choices 参数(第三个参数)
import easygui as g choices=["愿意","不愿意","等你有钱了愿意"] reply=g.choicebox("你愿意嫁给我吗?",choices=choices)
5:按钮组件
5.1:msgbox()
msgbox(msg=‘(Your message goes here)‘, title=‘ ‘, ok_button=‘OK‘, image=None, root=None) #返回值:"OK"
msgbox() 显示一个消息和提供一个"OK"按钮,你可以指定任意的消息和标题,你甚至可以重写"OK"按钮的内容
修改按钮内容的最简单方法是使用关键字参数
import easygui as g g.msgbox("我要当第一!",ok_button=‘加油‘,)
5.2:ccbox()
ccbox(msg=‘Shall I continue?‘, title=‘ ‘, choices=(‘Continue‘, ‘Cancel‘), image=None) #返回值 Continue:1 Cancel:0 choices中可以有两个以上按钮,但只有第一个按钮返回1,其他都返回0
ccbox() 提供一个选择:Continue 或者 Cancel,并相应的返回 1(选中Continue)或者 0(选中Cancel)
注意 ccbox() 是返回整型的 1 或 0,不是布尔类型的 True 或 False。但你仍然可以这么写:
import easygui as g import sys if g.ccbox("要再来一次吗?", choices=("要啊要啊^_^","算了吧T_T")): g.msgbox("不给玩了,再玩就玩坏了") else: sys.exit(0)
5.3ynbox() #和CCbox类似
ynbox(msg=‘Shall I continue?‘, title=‘ ‘, choices=(‘Yes‘, ‘No‘), image=None) #返回值 Yes:1 No:0 choices中可以有两个以上按钮,但只有第一个按钮返回1,其他都返回0
5.4 buttonbox()
buttonbox(msg=‘‘, title=‘ ‘, choices=(‘Button1‘, ‘Button2‘, ‘Button3‘), image=None, root=None) #返回值 返回按钮的文本内容
可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组你定义好的按钮
当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。如果用户取消取消或者关闭窗口,那么会返回默认选项(第一个选项)。
import easygui as g g.buttonbox("你喜欢哪种水果?",choices=("苹果","香蕉","橘子","西瓜"))
5.5 indexbox()
indexbox(msg=‘Shall I continue?‘, title=‘ ‘, choices=(‘Yes‘, ‘No‘), image=None) #返回值 返回每个按钮的序号,从0开始 Yes:0,No:1....
基本跟buttonbox一样,区别就是当用户选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1
5.6 boolbox()
boolbox(msg=‘Shall I continue?‘, title=‘ ‘, choices=(‘Yes‘, ‘No‘), image=None) #返回值 第一个按钮被选中返回 1,第二个按钮被选中则返回 0
6:如何在 buttonbox 里边显示图片
当你调用一个 buttonbox 函数(例如 msgbox(), ynbox(), indexbox() 等等)的时候,你还可以为关键字参数 image 赋值,这是设置一个 .gif 格式的图像(注意仅支持 GIF 格式)
g.buttonbox(‘大家说我长得帅吗?‘, image=‘wugui.gif‘, choices=(‘帅‘, ‘不帅‘, ‘[email protected]#$%‘))
7:选项组件
7.1 choicebox()
choicebox(msg=‘Pick something.‘, title=‘ ‘, choices=()) # 双击列表中的选项或者通过“OK”按钮选择 返回选项的内容 只能返回一个
按钮组件方便提供用户一个简单的按钮选项,但如果有很多选项,或者选项的内容特别长的话,更好的策略是为它们提供一个可选择的列表。
choicebox() 为用户提供了一个可选择的列表,使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。
除了用鼠标选择列表中的选项外,还可以通过键盘选择,根据键盘的字符去选择。
import easygui as g choices=["愿意","不愿意","等你有钱了愿意"] reply=g.choicebox("你愿意嫁给我吗?",choices=choices)
7.2 multchoicebox ()
multchoicebox(msg=‘Pick as many items as you like.‘, title=‘ ‘, choices=(), **kwargs) # 返回值 一个列表。双击列表中的选项返回空列表,必须通过“OK”按钮选择
multchoicebox() 函数也是提供一个可选择的列表,与 choicebox() 不同的是,multchoicebox() 支持用户选择 0 个,1 个或者同时选择多个选项
multchoicebox() 函数也是使用序列(元祖或列表)作为选项,这些选项显示前会按照不区分大小写的方法排好序。
>>> choices=["北京","天津","上海"] >>> g.multchoicebox("你喜欢哪个城市?",choices=choices)
8:用户输入组件
8.1 enterbox()
enterbox(msg=‘Enter something.‘, title=‘ ‘, default=‘‘, strip=True, image=None, root=None) #返回值为用户输入的字符串
enterbox() 为用户提供一个最简单的输入框,返回值为用户输入的字符串。默认返回的值会自动去除首尾的空格,如果需要保留首尾空格的话请设置参数 strip=False
8.2 integerbox()
integerbox(msg=‘‘, title=‘ ‘, default=‘‘, lowerbound=0, upperbound=99, image=None, root=None, **invalidKeywordArguments) #返回值为用户输入的数字
integerbox() 为用户提供一个简单的输入框,用户只能输入范围内(lowerbound:最小值,upperbound:最大值)的整型数值,否则会要求用户重新输入
8.3 multenterbox()
multenterbox(msg=‘Fill in values for the fields.‘, title=‘ ‘, fields=(), values=()) #返回一个列表,列表内容是每个输入栏中输入的内容
g.multenterbox("请输入以下个人信息","个人信息",["姓名","性别","年龄"])
multenterbox() 为用户提供多个简单的输入框,要注意以下几点:
如果用户输入的值比选项少的话,则返回列表中的值用空字符串填充用户为输入的选项。
如果用户输入的值比选项多的话,则返回的列表中的值将截断为选项的数量。
如果用户取消操作,则返回域中的列表的值或者None值。