友情提示:380元/半年,儿童学编程,就上码丁实验室。
可爱的小朋友们,相信小朋友对哪些带有按钮,文本,输入框这些窗口的都不陌生了,这就是图形用户编程。
目前有很多Python的GUI工具包可以选择,那今天我们来学习GUI的一个很简单的工具包easygui。
easygui就像它的名字一样,真的很简单。首先是导入easygui模块,然后调用easygui的函数即可!其实学习easygui就是学习各个函数的调用规律!
什么是easygui
EasyGUI 是 Python 中一个非常简单的 GUI 编程模块,所有的 GUI 交互都是通过简单函数调用就可以实现。
EasyGUI 为用户提供了简单的 GUI 交互接口,可以很好地兼容 Python 2 和 3。
EasyGUI 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter 写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGUI 程序有这样的问题,请尝试在 IDLE 外去运行你的程序。
安装easygui

图1 安装easygui
cd F:easygui-docs-0.96
dir
python setup.py install
第一步:切换到easygui的文件夹
第二步:dir #查看发现有setup.py的程序
第三步:用python来调用
最后就成功啦(easygui的下载可以点击阅读原文自取呢! 提取码:4ned )
导入easygui
import easygui as g
g.msgbox('hello easygui')
使用easygui
EasyGUI 的各种功能演示
从 IDE上调用:
> import easygui
> easygui.egdemo()
成功调用后将可以尝试 EasyGUI 拥有的各种功能,并将结果打印至控制台。

图2 EasyGUI 的各种功能演示
使用按钮组件
01 msgbox()
msgbox(msg=’(Your message goes here)’, title=’ ‘, ok_button=’OK’, image=None, root=None)
msgbox() 显示一个消息和提供一个 “OK” 按钮,你可以指定任意的消息和标题,可以重写 “OK” 按钮的内容。
import easygui as f
"我可以学好python,加油呐!",title="目标",ok_button="努力学习") f.msgbox(

图3msgbox运行结果
02 ccbox()
ccbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘C[o]ntinue’, ‘C[a]ncel’),image=None,default_choice=’C[o]ntinue’,cancel_choice=’C[a]ncel’)
ccbox() 提供一个选择:“C[o]ntinue” 或者 “C[a]ncel”,并相应的返回 True 或者 False。
范例:
import easygui as g
"你要重新开始游戏是吗?",title="重新选择",choices=("yes","no")) g.ccbox(

图4ccbox运行结果
03 ynbox()
ynbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘[<F1>]Yes’, ‘[<F2>]No’),image=None,default_choice=’[<F1>]Yes’,cancel_choice=’[<F2>]No’)
跟 ccbox() 一样,只不过这里默认的 choices 参数值不同而已,[<F1>] 表示将键盘上的 F1 功能按键作为 “Yes” 的快捷键使用。
范例:
import easygui as g
"继续下一关吗?",title="闯关",choices=("下一关","不玩了")) g.ynbox(msg=

图5ynbox运行结果
04 buttonbox()
buttonbox(msg=”, title=’ ‘, choices=(‘Button[1]‘, ‘Button[2]‘, ‘Button[3]‘), image=None, images=None, default_choice=None, cancel_choice=None, callback=None, run=True)
可以使用 buttonbox() 定义自己的一组按钮,buttonbox() 会显示一组由你自定义的按钮。
当用户点击任意一个按钮的时候,buttonbox() 返回按钮的文本内容。
如果用户点击取消或者关闭窗口,那么会返回默认选项(第一个选项)
案例:
import easygui as g
"你想要在小鱼儿编程学习到什么呢?",title="选择你想学习的东西",choices=('Python','Scratch','javascript')) g.buttonbox(msg=

图6buttonbox运行结果
05 indexbox()
indexbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘Yes’, ‘No’), image=None, default_choice=’Yes’, cancel_choice=’No’)
基本跟 buttonbox() 一样,区别就是当用户选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1。
案例:
import easy as g
"还有继续吗?",title="选择",choices=("继续","不玩了")) g.indexbox(msg=

图7indexbox运行结果
06 boolbox()
boolbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘[Y]es’, ‘[N]o’), image=None, default_choice=’Yes’, cancel_choice=’No’)
如果第一个按钮被选中则返回 True,否则返回 False。
THE END