可爱的小朋友们,相信小朋友对哪些带有按钮,文本,输入框这些窗口的都不陌生了,这就是图形用户编程。
目前有很多Python的GUI工具包可以选择,那今天我们来学习GUI的一个很简单的工具包easygui。
easygui就像它的名字一样,真的很简单。首先是导入easygui模块,然后调用easygui的函数即可!其实学习easygui就是学习各个函数的调用规律!
01
什么是easygui
EasyGUI 是 Python 中一个非常简单的 GUI 编程模块,所有的 GUI 交互都是通过简单函数调用就可以实现。 EasyGUI 为用户提供了简单的 GUI 交互接口,可以很好地兼容 Python 2 和 3。 EasyGUI 是运行在 Tkinter 上并拥有自身的事件循环,而 IDLE 也是 Tkinter 写的一个应用程序并也拥有自身的事件循环。因此当两者同时运行的时候,有可能会发生冲突,且带来不可预测的结果。因此如果你发现你的 EasyGUI 程序有这样的问题,请尝试在 IDLE 外去运行你的程序。
02
安装easygui
图1 安装easygui
cd F:easygui-docs-0.96dirpython setup.py install
第一步:切换到easygui的文件夹
第二步:dir #查看发现有setup.py的程序
第三步:用python来调用
最后就成功啦(easygui的下载可以点击阅读原文自取呢!提取码:4ned)
03
导入easygui
importeasyguiasgg.msgbox('hello easygui')
04
使用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>>>f.msgbox("我可以学好python,加油呐!",title="目标",ok_button="努力学习")
图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>>>box("你要重新开始游戏是吗?",title="重新选择",choices=("yes","no"))
图4ccbox运行结果
03 ynbox()
ynbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘[]Yes’, ‘[]No’),image=None,default_choice=’[]Yes’,cancel_choice=’[]No’) 跟 ccbox()一样,只不过这里默认的 choices 参数值不同而已,[]表示将键盘上的 F1 功能按键作为 “Yes” 的快捷键使用。
范例:
>>>import easygui as g>>>g.ynbox(msg="继续下一关吗?",title="闯关",choices=("下一关","不玩了"))
图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>>>g.buttonbox(msg="你想要在小鱼儿编程学习到什么呢?",title="选择你想学习的东西",choices=('Python','javascript'))
图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>>>g.indexbox(msg="还有继续吗?",title="选择",choices=("继续","不玩了"))
图7indexbox运行结果
06boolbox()
boolbox(msg=’Shall I continue?’, title=’ ‘, choices=(‘[Y]es’, ‘[N]o’), image=None, default_choice=’Yes’, cancel_choice=’No’) 如果第一个按钮被选中则返回 True,否则返回 False。
THE END