easygui庫

import easygui as g
def msgbox(msg='消息參數',title='標題參數,默認空字符串',ok_button='ok,按鈕')
我們在調用時可以通過重寫關鍵字參數,更改g.msgbox(msg='消息參數',title='標題參數,默認空字符串',ok_button='啦啦啦')

ccbox(msg=’消息’,title=’ ‘,choices=(‘Continue’,’Cancel’),image=None)
ccbox()返回的是整型的1和0,不是布爾類型

if ccbox('要再來一次嗎?', choices=('要啊要啊^_^', '算了吧T_T')):
        msgbox('不給玩了,再玩就玩壞了......')
else:
        sys.exit(0) # 記得先 import sys 哈

ynbox(msg=’消息’,title=’ ‘,choices=(‘Yes’,’No’),image=None)
ynbox返回的是布爾類型

可以使用buttonbox(msg=”,title=”,choices=(‘a’,’b’,’c’),image=None,root=None)定義自己的一組按鈕,返回文本內容,點擊x後返回None,有3個選項

indexbox(msg=”,title=”,choices=(‘a’,’b’),image=None,root=None)返回用戶選擇的序列號0-

boolbox(msg=”,title=”,choices=(‘a’,’b’),image=None,root=None)只有兩個選項,選第一個按鈕返回1,其他返回0

choicebox(msg = ‘Pick something’,title = ”,choices=())
添加可選擇的列表,使用元組或列表做爲選項,不區分大小寫的排序

multchoicebox(msg = ‘Pick as many items as you like’,title = ”, choices= (),**kwargs),與choicebox不同的是,multchoicebox()可以選擇0個,1個或多個選項,返回文本列表

讓用戶可以輸入信息:

enterbox(msg = ‘Enter something.’,title = ”, default = ”, strip = True,image = None,root = None)
提供一個簡單的輸入框,返回值爲用戶輸入的字符串。默認自動去除首尾的空格。default爲默認輸入的內容

integerbox(msg=”,title=”,default=”,lowerbound=0,upperbound=99,image=None,**invalidKeywordArauments)
integerbox()爲用戶提供簡單輸入框,用戶只能輸入範圍內的整形數值,否則要求用戶重新輸入。

multenterbox(msg=’Fll in values for the filelds’, title =”,fields=(),values=())
values是默認值元組,最終返回輸入信息組成的一個列表
multenterbox(‘A項目\nB項目\nC項目\nD項目’,’測試多項輸入框’,(‘A項目’,’B項目’,’C項目’,’D項目’),(‘小甲魚’,))—-[‘小甲魚’, ‘小魷魚’, ‘大水魚’, ‘嘿嘿’]測試

passwordbox(msg=’Enter your password.’,title=”,default=”,image=None,root=None)
用戶輸入的內容用*顯示,返回輸入字符串

multpasswordbox(msg=’Fll in values for the fields.’,title=’’,fields=(),values=())
與multenterbox接口一樣,但顯示時,最後一個輸入顯示密碼形式

顯示文本
textbox(msg=”,title=”,text=”,codebox=0)
textbox()默認等比例顯示文本,codebox=1等寬字體
text參數可以是字符串類型,列表類型,元組類型
返回字符串

目錄與文件
diropenbox(msg=None,title=None,default=None)
用於提供一個對話框,返回用戶選擇的目錄名(帶完整路徑),default用於設置默認的打開目錄(確認存在)

fileopenbox(msg=None,title=None,default=’*’,filetypes=None)
返回用戶選擇的文件名(帶完整路徑),選擇Cancel返回None
-default 指定一個默認路徑,通常包含一個或多個通配符
默認參數’*’,匹配所有格式文件
例:default=”c:/profile/*.py”顯示c:\profile下的所有python文件
default = “c:/profile/test*.py”顯示c:\profile下的所有以test開頭python文件
filetypes參數可以是包含文件掩碼的字符串列表,filetypes=[“*.txt”]
可以是字符串列表,列表的最後一項字符串是文件類型的描述,
filetypes=[“.css”,[“.html”,”*htm”,”HTML files”]]

filesavebox(msg=None,title=None,default=”“,filetypes=None)
提供一個對話框,讓用戶選擇文件需要保存的路徑(完整路徑),
default參數應該包含一個文件名(例如當前需要保存的文件名),也可設置爲空,或包含一個文件格式掩碼的通配符
filetypes參數同上

記住用戶設置
爲了實現對用戶的設置進行存儲和恢復這一過程,EasyGui 提供了一個叫做 EgStore 的類。爲了記住某些設置,你的應用程序必須定義一個類(暫時稱之爲”設置”類,儘管你隨意地使用你想要的名稱設置它)繼承自 EgStore 類。

然後你的應用程序必須創建一個該類的對象(暫時稱之爲”設置”對象)。

設置類的構造函數(init 方法)必須初始化所有的你想要它所記住的那些值。

一旦你這樣做了,你就可以在”設置”對象中通過設定值去實例化變量,從而很簡單地記住設置。之後使用 settings.store() 方法在硬盤上持久化設置對象。

下面是創建一個”設置”類的例子:

#-----------------------------------------------------------------------
# create "settings", a persistent Settings object
# Note that the "filename" argument is required.
# The directory for the persistent file must already exist.
#-----------------------------------------------------------------------
settingsFilename = os.path.join("C:", "FishCApp", "settings.txt")  # Windows example
settings = Settings(settingsFilename)

下面是使用”設置”對象的例子:

# we initialize the "user" and "server" variables
# In a real application, we'd probably have the user enter them via enterbox
user    = "奧巴馬"
server  = "白宮"

# we save the variables as attributes of the "settings" object
settings.userId = user
settings.targetServer = server
settings.store()    # persist the settings

# run code that gets a new value for userId
# then persist the settings with the new value
user    = "小甲魚"
settings.userId = user
settings.store()

使用 EasyGui 編寫 GUI 程序,有時候難免會產生異常。當然這取決於你如何運行你的應用程序,當你的應用程序崩潰的時候,堆棧追蹤可能會被拋出,或者被寫入到 stdout 標準輸出函數中。

EasyGui 通過 exceptionbox() 函數提供了更好的方式去處理異常,異常出現的時候,exceptionbox() 會顯示堆棧追蹤在一個 codebox() 中並且允許你做進一步的處理。

exceptionbox() 很容易使用,下面是一個例子:

try:
        print('I Love FishC.com!')
        int('FISHC') # 這裏會產生異常
except:
        exceptionbox()
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章