EasyGUI 学习文档【超详细中文版】(from小甲鱼 )
2026/8/30 5:35:41 网站建设 项目流程

11.1 ()

( 消息='输入点。', 标题=' ', 为空='', 去除空白=True, 图像=None, 根对象=None)。

为其提供一个最为简单的输入框, 该输入框返回的数值乃是用户所输入的那个字符串。

自动去除了首尾空格的那个, 是默认 返回的值, 要是有保留尾巴和开头空格的需求, 那么请把参数 strip设置成 False进行设定。

0. 安装

官网:

使用 pip 进行安装:

1. 什么是 ?

在具备的众多编程模块里, 它属于其中一个特别简单的GUI编程模块, 和其他GUI生成器不一样, 它并非事件驱动的, 反向来说, 所有GUI交互借助简单函数调用就能达成。

致使向用户供给这一简易的GUI交互接口得以实现,而程序员却全然不可知晓有关框架的任何详情,也全然不可知晓有关部件的任何境况,亦全然不可知晓有关回调的任何情形。

可以很好地兼容 2 和 3,并且不存在任何依赖关系。

存在运行于其上且具备自身事件循环的情况, IDLE同样是用其编写的一个应用程序并且也有着自身的事件循环, 所以当二者同时运行之际, 存在可能会出现冲突, 进而产生难以预料的结果, 故而要是你发觉你的程序存在这样的问题, 那就尝试在IDLE之外去运行你的程序。

2. 一个简单的例子

于其中, 全部的 GUI 交互皆是借由简易的函数调用达成, 后头则有一个简易的示例向你表明其着实十分容易!

1importeasygui as g2importsys34while1:5g.msgbox("嗨,欢迎进入第一个界面小游戏^_^")67msg ="请问你希望在鱼C工作室学习到什么知识呢?"8title ="小游戏互动"9choices = ["谈恋爱","编程","OOXX","琴棋书画"]1011choice =g.choicebox(msg, title, choices)1213#注意,msgbox的参数是一个字符串14#如果用户选择Cancel,该函数返回None15g.msgbox("你的选择是:"+ str(choice),"结果")1617msg ="你希望重新开始小游戏吗?"18title ="请选择"1920#弹出一个Continue/Cancel对话框21ifg.ccbox(msg, title):22pass#如果用户选择Continue23else:24sys.exit(0)#如果用户选择Cancel

3. 的各种功能演示

要运行 的演示程序,在命令行调用 是这样的:

python easygui.py

亦或是能够于IDE(像IDLE Wing 等等这般类型的)之上予以调用。

>>>importeasygui>>> easygui.egdemo()

成功进行调用之后, 便能够尝试去拥有的各种各样的功能, 并且会把结果打印到控制台处。

4. 导入

为了使用 这个模块,你应该先导入它。

最简单的导入语句是:

importeasygui

若是采用上面那般形式来进行导入的情形下, 那当你运用所在函数之际, 必定得在函数的前端添加前缀, 呈现类似这样的状况:

easygui.msgbox(...)

另一种选择是导入整个 包:

fromeasyguiimport*

这使得我们更容易调用 的函数,可以直接这样编写代码:

msgbox(...)

第三种方案是使用类似下边的 语句:

importeasygui as g

这种方式能够使你维持住处于的命名空间, 与此同时削减你进行打字的数量。

导入之后就可以这么调用 的函数:

g.msgbox(...)

5. 使用

你的模块一旦导入, GUI操作那便是一个简简单单调用函数的几个参数的问题所在了。

例如,使用 来实现世界上最著名的打招呼:

importeasygui as g g.msgbox("Hello, world!")

6. 函数的默认参数

对于所有对话框而言,前两个参数都是消息主体和对话框标题。

从这个规律出发,于特定情形下, 这或许并非是理想的布局设计, 像是在对话框获取目录或者文件名之际会选择对消息参数全然予以忽略, 然而维持这般一致性并使其贯穿于所有各项窗口部件, 乃是更具得体性的考虑!

有默认参数的函数占了绝大部分, 几乎所有组件都会将消息主体以及对话框标题显示出来。

标题默认是空字符串,消息主体通常有一个简单的默认值。

这致使你能够以尽可能少的情况去开展参数设置, 像是, () 函数标题部分那儿的参数属于可选择的范畴, 所以你在调用 () 的时刻仅仅需要去明确指定一个消息参数就行, 比如:

>>> msgbox('我爱hale^_^')

当然你也可以指定标题参数和消息参数,例如:

>>> msgbox('我爱hale^_^','AG自述')

于各类按钮组件当中, 默认的消息为 “Shall I?”, 因而你能够不携带任何参数前去调用它们。

这儿我们进行演示, 以不带任何参数的方式去调用ccbox(), 在选择“”或者关闭窗口之际, 返回一个布尔类型的值:

ifccbox():pass#用户选择继续else:return#用户选择取消

这里会报错: ''

除了在def自定义函数当中予以使用关键字之外, 在while循环期间唯一能够用于终止循环的时候必定是借助break关键字!鉴于此处并不存在自定义的函数, 因而绝不可能出现此类关键字!

7. 使用关键字参数调用 的函数

调用 函数还可以使用关键字参数哦。

如今假定你要运用一个按钮组件, 然而你并不打算规定标题参数(第二个参数), 你依旧能够运用关键字参数的方式去指定参数(第三个参数), 情形如下:

>>> choices = ['愿意','不愿意','有钱的时候就愿意']>>> reply = choicebox('你愿意购买资源打包支持小甲鱼吗?', choices = choices)

8. 使用按钮组件

根据需求, 在 () 上建立了一系列的函数供调用。

8.1 ()

这里我不太明确你具体的需求, 你提供的内容似乎不太完整或有格式问题。请你明确一下具体要表达的意思 以便我能准确改写。

能够呈现出一条消息, 并且配备一个“OK”按钮, 你能够去指定随意的消息以及标题, 甚至你还能够对“OK”按钮的内容予以重新编写。

重写 “OK” 按钮最简单的方法是使用关键字参数:

>>> msgbox("我一定要学会编程!", ok_button="加油!")

8.2 ccbox()

ccbox, 其msg参数的值为‘Shall I?’ , title参数的值为空字符串, 存在两个参数值为('', 'Cncel'), image参数的值为None, 还有两个参数值为空字符串, 有一个参数值为‘Cncel’。

ccbox()给出一种选择, 是“” , 还是“Cncel” , 并据此相应返回True , 或者False。

留意: “” 之中的 意味着快捷键, 换而言之, 只要 使用者于键盘之上敲击一回 o 字符, 便等同于点击了 “” 按键。

8.3 ynbox()

这段内容似乎并不是一个完整且正确的代码表述, 不太能按照要求准确改写。请你检查一下是否有准确完整的内容以便能更好地进行改写。

同ccbox()情况相同, 只是此处默认的参数数值存在差异罢了, 代表着把键盘之上的F1功能按键当作“是的快捷键来予以 。

8.4 ()

(消息='', 标题=' ', 等于('', '', ''), 图像=None, 等于=None, 等于=None, 等于=None, 等于=None, 运行=True)。

能够经由 () 构建属于自身的一组按钮, () 将会呈现出一组经你自行定制的按钮。

当用户点击任意一个按钮的时候,() 返回按钮的文本内容。

倘若用户进行点击取消这一操作, 又或者去实施关闭窗口这个行为, 那么进而就会返回默认选项, 也就是首个选项。

请看例子:

8.5 ()

(msg='我要这样吗? ', title=' ', 选项=('是', '否'), image=None, 默认值='是', 另一个默认值='否') 这是按照你的要求进行的改写, 不过你原内容有些格式问题不太清晰, 如果理解有误请纠正。

基本上跟()没什么两样, 不同之处在于, 当用户挑选第一个按钮之际, 会返回序号0, 而当用户选取第二个按钮之时, 会返回序号1。

8.6 ()

这条消息是“Shall I?”, 标题为空, 有两个不同语言选项分别为“es”和“o”, 没有图片, 带有两个其他成分分别为“Yes”和“No”。

要是第一个按钮被选上了, 那么就返回True, 不然, 那就返回False。

9. 如何在 里边显示图片

当你去调用一个函数时, 这里所说的函数诸如(),ynbox()等等, 此时, 你能够为关键字参数image赋予其值, 并且可以去设置一幅.gif格式的图像, 要知道PNG格式的图像它同样也是被支持的哦^_^:

buttonbox('大家说我长得帅吗?', image='turtle.gif', choices=('','不帅','!@#$%'))

这里需要安装库才可加载jpg等其他图像

10. 为用户提供一系列选项

10.1 ()

(消息='选取一个物品', 标题='', 等于, =0, =无, 运行=真)

按钮组件便于给用户提供一项简易的按钮选择, 然而要是存在诸多选项, 又或者选项内容格外冗长的情形下, 更优的策略便是为其提供一份可供选择的列表。

为用户供给了一个能够去选择的列表, 将序列(元祖或者列表)用作选项, 这些选项会依照字母予以排序。

此外, 能够运用键盘去挑选其中一项, (较为纠结, 然而丝毫都不重要):

参照我们早前所学的文件操作,列举一个高端大气上档次的例子, 源代码处于第35讲的课后作业之中^_^。

10.2 ()

(msg='Pick an item', title='', =, =0, =None, run=True)

()函数也给出一个可作选择的列表, 跟()不一样的地方在于, ()准许用户挑选0个, 挑选1个或者一块儿挑选多个选项。

函数, 同样运用序列(元祖或者列表)作为选项, 这些选项, 在显示之前, 要依据不区分大小写的方式排好序。

11. 让用户输入消息

11.1 ()

(msg='Enter .', title=' ', ='', strip=True, image=None, root=None)

() 为用户提供一个最简单的输入框,返回值为用户输入的字符串。

默认返回的值会自动去除首尾的空格,如果需要保留首尾空格的话请设置参数 strip=False。

11.2 ()

(消息为空字符串, 标题为空格, 等于无, 等于零, 等于九十九, 图像无, 根无)。

打造一个给予用户的, 是简单的输入框, 此输入框限定条件为用户用以输入的时候, 所能输入的仅仅唯有处在范围内的情况, 这个范围乃是通过参数设置所决定的最小值到最大值区间的整型数值, 要是不符合这个条件那就会出现要求用户再次进行输入的状况。

11.3 ()

(msg='为了那个, 当中填入。', title=' ', =, =, =无, 运行=真)。

() 为用户提供多个简单的输入框,要注意以下几点:

实现如下图(源代码在第35讲的课后作业中^_^):

12. 让用户输入密码

存在这样的情况, 有可能需要促使各类用户去录入诸如密码这般敏感度颇高的信息, 如此一来, 展现在眼前的界面呈现出来的样子应当是这般: *******。

12.1 ()

(msg='输入你的。', title=' ', '=', '', image=None, root=None) , 这里的表述似乎不太完整和准确。这样的语句结构在正常编程语境下可能不合适。但按照要求按原格式呈现就是这样。

有种情况是, 某事物跟另一对象样式是一样的, 然而存在不同之处, 便是用户所输入的内容会以星号也就是(*)来进行显示, 并且, 有这样一个函数, 它会返回用户当初输入的那个字符串。

12.2 ()

(msg='为了那个, 填入。', title=' ', =(), =(), =None, run=True)。

(某事物) 与 (另一事物) 运用相同的接口, 然而在其呈现之际, 最终的那个输入框呈密码形态展示(*):

13. 显示文本

还提供函数用于显示文本。

13.1 ()

内容为空, 标题为空, 文本为空, 布尔值为假, 值为无, 运行状态为真。

()函数默认会将文本内容用比例字体显示, 当参数=False时则设置为等宽字体, 且会自动换行, 此函数适宜于用来展示一般的书面文字。

要注意, text参数的设置, 能够用来设定可编辑文本区域的内容, 它能是字符串这样子的类型, 也可以是列表这种类型, 或者是元祖类型, 也有这样的情况存在。

13.2 ()

(msg='', title=' ', text='')

以等宽字体来显示文本内容, 此为不自动换行的一种情况, 这相当于设置为等于True。

注:等宽字体很丑的,但适合代码编写,不信你试试看@_@

14. 目录与文件

在GUI编程里, 有一个常见的场景是要求用户去输入目录以及文件名, 且提供了一些使得用户能够浏览文件系统, 进而选择一个目录或者文件的基本函数。

14.1 ()

(msg=None, title=None, =None)

有一种函数叫作() , 利用它能够去提供出一个对话框, 这个对话框会返回用户所选择的那个目录名, 而且还要带有完整的路径呢, 要是用户选择的是 “” 的话, 那么它就会返回 None。

参数用于设置默认的打开目录(请确保设置的目录已存在)。

14.2 ()

你提供的内容格式有误, 请检查并重写需求, 以便我能准确按照要求改写。

有这样一种函数, 它能够用来提供一个对话框, 这个对话框会返回用户所选择的文件名, 而且是带有完整路径的那种文件名哦, 要是用户选择的是 “” 这种情况的话, 那么它就会返回 None。

关于 参数的设置方法:

例如:

关于 参数的设置方法:

到最后的部分, 是参数, 当它设定为 True 这个值的时候, 就意味着能够同时去挑选多个文件。

14.3 ()

(消息为空, 标题为空, 等于空字符串, 为无)。

函数给出一个对话框, 用以让使用者挑选文件所要保存的路径, 此路径是带有完整路径的哦, 要是用户选择为空, 则返回无。

参数应当涵盖一个文件名, 比如说当下所要保存的那个文件名, 当然啦, 它也能够被设置成空的, 或者包含一个带文件格式掩码的通配符。

参数的设置方法请参考 () 函数。

15. 记住用户的设置

15.1

在GUI编程里, 有个常见场景, 即要求用户去设置一番参数, 紧接着把这些参数保存起来, 目的是当用户下次再度使用你的程序之际, 能够记起他所做的设置。

为了达成将用户的设置予以存储以及恢复这般运转流程, 给出了一个称作 的类别。

那啥子, 为了把某些设置给记住, 你的应用程序, 得去定义一个类, 就是下面案例里那个“”, 它要继承自类。

那么, 你的应用程序需要去创建一个实例化对象, 这个对象是属该类范畴的, 就如同下面案例里头的引号所指向的那样。

设置类的构造函数, 此构造函数为一种方法, 该方法必须要对所有的, 那些你期望它能够记住的值, 进行初始化。

一旦你实施了这般行为, 你便能够于对象里头借助设定数值去使变量实例化, 进而以颇为简易的方式记住设置。

之后使用 .store() 方法在硬盘上持久化保存。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询