在各類按鈕組件里,默認的消息是 “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()