Python—easygui之三种常用按钮类函数
首先,导入 easygui:
你可以这样导入,导入整个 easygui 包:
from easygui import *
msgbox()
你也可以这样导入,不过需要在所使用的函数前加上 “easygui.” :
import easygui
easygui.msgbox()
你甚至可以这样导入,与前一种导入方式原理相同,相当于为 easygui 取了一个更简便的名称(本文以这种方式导入 easygui,也推荐大家使用这种方式):
import easygui as g
g.msgbox()
以下代码都需在导入 easygui 后运行。
1.msgbox() 函数
msgbox(msg=’(Your message goes here)’, title=’ ', ok_button=‘OK’, image=None, root=None)
不设置任何参数:
g.msgbox()
设置参数:
msg = '这是你输入的信息'
title = '这是标题'
ok_button = '这是按钮'
g.msgbox(msg, title, ok_button)
添加图片:
msg = '这是你输入的信息'
title = '这是标题'
ok_button = '这是按钮'
image = '我是图片.gif'
g.msgbox(msg, title, ok_button, image)
当然,也可以是png格式的图片。
msg = '这是你输入的信息'
title = '这是标题'
ok_button = '这是按钮'
image = '我还是图片.png'
g.msgbox(msg, title, ok_button, image)
让我们欣赏一下名侦探柯南:
msg = '不是说强者就一定都会赢,而是唯有赢的人才是强者。'
title = '柯南语录'
ok_button = '帅呆了'
image = '柯南.gif'
g.msgbox(msg, title, ok_button, image)
2.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)
不设置任何参数:
g.buttonbox()
buttonbox() 函数中的 msg 参数、title 参数、image 参数与 msgbox() 函数中的用法相同。
不同的是 choices 参数,它被赋予一个三元组,即结果会显示三个按钮,而 msgbox() 函数中的 ok_button 参数只被赋予一个字符串,结果显示一个按钮。
针对 choices 参数里的元素,有对其进行加工的 defult_choice 参数,该参数对指定的元素进行突出显示;由于 msgbox() 函数运行结果只显示一个按钮,该按钮毫无疑问地被突出显示。
设置参数:
msg = '<惟有我,却是只天真无邪的小羊。怎么样,要不要我咩咩叫两声给你听啊?> \n\n猜猜这句话是谁说的(^_−)☆'
title = '《冰与火之歌》'
choices = ('小恶魔', '龙之母', '猎狗')
image = '权利的游戏剧照.gif'
g.buttonbox(msg, title, choices, image, default_choice='小恶魔')
既然有更多按钮,当然也能插入更多图片。(可以超过三张)
不过此时该用 images 参数。
msg = '<惟有我,却是只天真无邪的小羊。怎么样,要不要我咩咩叫两声给你听啊?> \n\n猜猜这句话是谁说的(^_−)☆'
title = '《冰与火之歌》'
choices = ('小恶魔', '龙之母', '猎狗')
images = ('权利的游戏剧照.gif', '还是权利的游戏剧照.gif', '又是权利的游戏剧照.gif')
g.buttonbox(msg, title, choices, images=images, default_choice='小恶魔')
看过小说或看过剧的朋友们应该都知道答案吧。
没看过的朋友们,如果有仔细对比代码和运行结果的话,也不难看出答案,因为我用 default_choice 参数把答案突出显示了(=´ω`=),可以看到 “小恶魔” 这个按钮框内多了一个虚线矩形框。
3.ccbox() 函数
ccbox(msg=‘Shall I continue?’, title=’ ', choices=(‘C[o]ntinue’, ‘C[a]ncel’), image=None, default_choice=‘Continue’, cancel_choice=‘Cancel’)
不设置任何参数:
g.ccbox()
当我们需要对某些操作循环时,ccbox() 函数就派上用场了。
ccbox() 函数的 choices 参数被赋予一个二元组,结果显示两个按钮:一个是“继续”按钮,一个是“取消”按钮。
默认状态下,选择“Continue”按钮,返回循环的初始状态,继续执行循环内容;选择“Cancel”按钮,退出循环。
设置参数:
msg = '你还想待在家里上网课吗?'
title = '灵魂拷问'
choices = ('当然还想,吃好喝好睡好,多好ヾ(๑╹◡╹)ノ"', '不想,我想开学,我要开学,555...')
image = '认真上课.gif'
g.ccbox(msg, title, choices, image, default_choice='当然还想,吃好喝好睡好,多好ヾ(๑╹◡╹)ノ"')
乐于观察的朋友有没有发现在不设置参数的时候,默认的按钮选项“Continue”和“Cancel”中的第二个字母都有下划线,怎么做到的呢?
很简单,我们看 ccbox() 函数里的参数 choices=(‘C[o]ntinue’, ‘C[a]ncel’) 中每个元素的第二个字母都被 “ [ ] ” 括起来了,起到下划线的作用。
注意:[ ] 只能括一个字母,否则将被视为[ ] 字符,会显示在按钮上。
msg = '你还想待在家里上网课吗?'
title = '灵魂拷问'
choices = ("[S]ure, I want to", "[N]o, I don't want to")
image = '认真上课.gif'
g.ccbox(msg, title, choices, image, default_choice='[S]ure, I want to')
上一篇: 函数