在各类按钮组件里,默认的消息是 “Shall I continue?”,所以你可以不带任何参数地去调用它们。
这里我们演示不带任何参数地去调用 ccbox(),当选择 “cancel” 或关闭窗口的时候返回一个布尔类型的值:
if ccbox():
pass #用户选择继续
else:
return #用户选择取消
使用关键字参数调用EasyGUI的函数
调用 EasyGUI 函数还可以使用关键字参数哦。
现在假设你需要使用一个按钮组件,但你不想指定标题参数(第二个参数),你仍可以使用关键字参数的方法指定 choices 参数(第三个参数),像这样:
>>> choices = ['愿意', '不愿意', '有钱的时候就愿意']
>>> reply = choicebox('你愿意购买资源打包支持小甲鱼吗?', choices = choices)
8 使用按键 组件
根据需求,EasyGUI在buttonbox()上建立了一系列的函数调用。
8.1 msgbox()
msgbox(msg = ‘(You message goes here)’,title = 'Ok',image =None,root = None)
msgbox() 显示一个消息和提供一个'ok'按键,你可以指定任意的消息和标题,你甚至可以重写‘ok’按键的内容。
重写‘ok’按键最简单的方法是使用关键字参数:
msgbox('我一定要学会编程!',ok_button = '加油!')
8.2 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。
注意:“C[o]ntinue” 中的 [o] 表示快捷键,也就是说当用户在键盘上敲一下 o 字符,就相当于点击了 “C[o]ntinue” 按键。
8.3 ynbox()
ynbox(msg='Shall I continue?', title=' ', choices=('[<F1>]Yes', '[<F2>]No'), image=None, default_choice='[<F1>]Yes', cancel_choice='[<F2>]No')
跟 ccbox() 一样,只不过这里默认的 choices 参数值不同而已,[<F1>] 表示将键盘上的 F1 功能按键作为 “Yes” 的快捷键使用。
8.4 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() 返回按钮的文本内容。
如果用户点击取消或者关闭窗口,那么会返回默认选项(第一个选项)。
请看例子:
from easygui import EgStore # 定义一个叫做“Settings”的类,继承自EgStore类
class Settings(EgStore): def __init__(self, filename): # 需要指定文件名
# 指定要记住的属性名称
self.author = ""
self.book = "" # 必须执行下面两个语句
self.filename = filename
self.restore() # 创建“Settings”的实例化对象“settings”
settingsFilename = "settings.txt"
settings = Settings(settingsFilename) author = "小甲鱼"
book = "《零基础入门学习Pyhon》" # 将上面两个变量的值保存到“settings”对象中
settings.author = author
settings.book = book
settings.store()
print("\n保存完毕\n")
try:
print('I Love FishC.com!')
int('FISHC') # 这里会产生异常
except:
exceptionbox()