链接:https://pan.quark.cn/s/563a28232409
提取码:1h2S
EasyGui 专题
什么是GUI。GUI 是 graphical user interface 的缩写,也就是图形用户界面。我们之前使用的黑糊糊的界面叫CLI。 command Line Interface的缩写,也就是命令行界面。
Gui含有哪些东西?icon 图标、title 标题、droplist 下拉列表、button 按钮、picture 图片、enterbox 输入框、
label 标签、savefilebox 文件保存、openfilebox 文件打开框、diropenbox 文件夹选择框等等控件。
官方文档 https://easygui.sourceforge.net/tutorial.html
一、easygui的安装和导入
和turtle、tkinter、pygame等模块一样,在使用之前,我们需要先安装并导入模块。
在海龟编辑器种,可以在【库管理】种搜索easygui下载安装。
通过以下三种方法中的任意一种,我们可以导入easygui库。
importeasygui每次使用都需要输入easygui.
importeasyguiaseg每次使用只要输入eg.
fromeasyguiimport*不需要输入easygui,直接使用
为了大家的普遍性,教材里面我们使用第一种,完整的输入easygui,但是老师比较推荐使用第二种方法,毕竟可以偷懒少输入好几个字。大家根据自己的喜欢选择。
二、第一个图形界面:msgbox
现在来创建一个包含 OK 按钮的ea简单消息框:
easygui.msgbox(msg="欢迎您进入EasyGui的编程世界",title="欢迎",ok_button="确定")
msgbox有三个参数,分别是:
msg: 字符串类型,用来显示提示信息;
title: 字符串类型,表示标题;
ok_button: 字符串类型,显示按钮上的文字。
三、buttonbox 按钮框
我们再来创建一个消息框:
easygui.buttonbox(msg="你最喜欢吃什么?",title="请选择",choices=['苹果','西瓜','草莓'])
buttonbox有三个参数:
msg:字符串类型,用来显示文字提醒
title:字符串类型,用作标题
choices:这里是一个列表,里面以字符串作为列表元素,存放选项。
你选择了什么?系统其实并不知道,所以我们需要告诉电脑。
ButtonId=easygui.buttonbox(msg="你最喜欢吃什么?",title="请选择",choices=['苹果','西瓜','草莓'])
这里我们给了一个变量ButtonId,用来记录我们按了哪个按钮。注意,后续所有的控件都是有返回值的,有的是Bool值,有的我们点击或者选择的控件文字内容。
四、choicebox 选择框
有时候,需要我们做选择时候,而且选项内容比较多,这时候我们可以使用choicebox 选择框。
ChoiceId=easygui.choicebox(msg="你最喜欢吃什么?",title="请选择",choices=['苹果','西瓜','草莓'],preselect=1)
choicebox有四个选项:
msg:字符串类型,用来显示文字提醒
title:字符串类型,用作标题
choices:列表,里面以字符串作为列表元素,存放选项。
preselect:pre前缀表示预先的,select表示选择,所以这个选项表示预选。并且,以列表的下标作为选项值。
五、enterbox 文本框
eb=easygui.enterbox(msg="这里是消息",title="这里是标题")
有时候,我们会设置一个默认值:
eb=easygui.enterbox(msg="这里是消息",title="这里是标题",default="这里是默认值 ",strip=True)
我们使用default 可以设置默认值,strip可以设置是否去除文本两侧的空格,当strip为True时去除,当strip为False时不去除。
六、integerbox 数字输入框
我们会发现,所输入的所有内容,都会被当成字符串存储,如果是需要数字呢?我们该怎么办?
方法一:类型转换,通过int( )函数进行文本->数字的转换; str( )函数刚好相反,数字->文本的转换。
方法二:
enterbox_num=easygui.integerbox(msg="请输入您的年龄:",title="这里是标题",default=0,lowerbound=0,upperbound=100)
七、passwrodbox 密码输入框
pb = easygui.passwordbox(msg="这里是消息", title="这里是标题", default="这里是默认值")
八、multpassword 多密码框
mpb = eg.multpasswordbox(msg="这里是消息", title="这里是标题",fields=["用户名","昵称","密码"],values=["默认值1","默认值2","默认值3"])
九、ccbox 继续取消框
cb = easygui.ccbox(msg='是否继续', title=' 标题', choices=('继续Continue', '取消Cancel'))
根据choices的位置有两个值,Continue为1,cancel为0,注意和文字内容无关。
cb = easygui.ccbox(msg='是否继续', title=' 标题', choices=('嗯', '哦'), image=None)
按 ”嗯“=True,按”哦“ = False。 第一个位置为True,第二个位置为False。
十、textbox 多行文本输入框
tb = easygui.textbox(msg='这里是弹窗信息', title=' 这里是标题', text='这里是文本内容', codebox=0)
testbox() 函数默认会以比例字体(参数 codebox=1 设置为等宽字体)来显示文本内容(会自动换行哦),这个函数适合用于显示一般的书面文字。
十一、diropenbox 目录选择框
db = easygui.diropenbox(msg="这里是消息", title="标题", default=None)
十二、fileopenbox()文件选择框
fb = easygui.fileopenbox(msg="这里是消息", title="这里是标题",default='*.txt', filetypes=[".txt",".doc",".png"],multiple=False)
multiple=False 不允许多选,得到非返回值是字符串
multiple=True 允许多选,得到的返回值是列表
选择文件后,获得文件的绝对路径。
十三、filesavebox 文件保存框
fb = eg.filesavebox(msg="这里是消息",title="这里是标题", default = "*",filetypes=["*.txt"])
选择保存的文件后,返回文件的绝对路径。
十四、ynbox 是否选择框
t = easygui.ynbox(msg="这里是内容", title="这里是标题",choices=["确定","取消"])
十五、boolbox 是否选择框
bb = easygui.boolbox(msg="这里是内容", title="这里是标题", choices=["确定", "取消"])
返回值bb为 True 或 False。
十六、indexbox
ib = easygui.indexbox(msg="这里是内容", title="这里是标题",choices=['1','2','3'])
返回值ib的值为按钮的下标,即按 按钮1 得到下标0,按按钮2得到下标1.
十七、exceptionbox 异常框
eb = easygui.exceptionbox(msg="这里是内容", title="这里是标题")
总结
控件函数
msgbox消息框
ynbox
ccbox
boolbox
buttonbox
indexbox
choicebox
multchoicebox
textbox
codebox
enterbox
multenterbox
passwordbox
multpasswordbox
integerbox
filesavebox
fileopenbox
diropenbox
exceptionbox
作业
设计成绩管理系统的流程,通过以上控件,绘制完整的界面。
在完成界面设计的情况下,使用txt、csv、xls 完成数据的存储和调用。
网友评论