Python学习记录5 ---- EasyGui中的一些好玩的地方1

@TOC

之前简单的介绍了EasyGui这个东西 那么这节就来讲一讲它里面的更好玩的地方

一、默认参数和关键字参数

1.1修改默认参数

对于EasyGui的所有对话框而言,前两个参数都是消息主题和对话框标题
对话框标题默认是一个空字符串,而消息主题通常会有一个简单的默认值。

默认参数使得可以尽可能去地少设置参数,例如msgbox()函数标题部分的参数是可选的
因此来调用msgbox()函数的时候只需要指定一个消息参数即可,例如:

1
2
import easygui as eg
eg.msgbox("EDG加油")

在这里插入图片描述

但是如果我们想让它变得更具体一点的话,可以指定标题参数和消息参数,例如:

1
2
import easygui as eg
eg.msgbox("EDG加油""淀粉心声")

程序实现如图:
在这里插入图片描述

这样修改默认参数就成功了

1.2使用关键字参数

调用EasyGui函数还可以使用关键字参数,现在假设需要使用一个按钮组件,但不想指定标题参数(第二个参数),仍可以使用关键字参数的方法指定choices参数(第三个参数)的值,如下:

1
2
choices=["找到女朋友","拿到好成绩","无欲无求"]
reply =eg.choicebox("2021年最想完成什么",choices=choices)

程序实现如图:
在这里插入图片描述

二、使用按钮组件

2.1 EasyGui在buttonbox()上的函数的调用

(1)msgbox()

1
msgbox(msg='(Your message goes here)', title=' ', ok_button='OK', image=None, root=None)

msgbox() 显示一个消息和提供一个 “OK” 按钮,可以指定任意的消息和标题,甚至可以重写 “OK” 按钮的内容。
重写 “OK” 按钮最简单的方法是使用关键字参数:

1
2
import easygui as eg
eg.msgbox("学会Pyhon",ok_button="继续努力")

程序实现如下:
在这里插入图片描述
(2)ccbox()

1
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[0]ntinue或者C[a]ncel,并相应返回True或者False.
注意:“C[o]ntinue” 中的 [o] 表示快捷键,也就是说当用户在键盘上敲一下 o 字符,就相当于点击了 “C[o]ntinue” 按键。

(3)ynbox()

1
ynbox(msg='Shall I continue?', title=' ', choices=('[<F1>]Yes', '[<F2>]No'), image=None, default_choice='[<F1>]Yes', cancel_choice='[<F2>]No')

跟 ccbox() 一样,只不过这里默认的 choices 参数值不同而已,[] 表示将键盘上的 F1 功能按键作为 “Yes” 的快捷键使用。

(4)buttonbox()

1
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() 返回按钮的文本内容。
如果用户点击取消或者关闭窗口,那么会返回默认选项(第一个选项)。

1
2
import easygui as eg
eg.buttonbox(msg="晚饭想要吃什么",title="三选一",choices=("火锅","烧肉","蛋糕"))

程序实现如下:
在这里插入图片描述
(5)indexbox()

1
indexbox(msg='Shall I continue?', title=' ', choices=('Yes', 'No'), image=None, default_choice='Yes', cancel_choice='No')

基本跟 buttonbox() 一样,区别就是当用户选择第一个按钮的时候返回序号 0, 选择第二个按钮的时候返回序号 1。
(6)boolbox()

1
boolbox(msg='Shall I continue?', title=' ', choices=('[Y]es', '[N]o'), image=None, default_choice='Yes', cancel_choice='No')

如果第一个按钮被选中则返回 True,否则返回 False。

Prev:
Python学习记录6----EasyGui中一些好玩的地方2
Next:
Python学习记录4---图形用户界面入门 easygui
catalog
catalog