




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、0.安裝 EasyGui官網(wǎng):最新版:Beasygui-0.96.zip(747.67下載次數(shù):2300)使用標(biāo)準(zhǔn)方法安裝:使用命令窗口切換到easygui-docs-0.96的目錄下Windows T1 執(zhí)彳亍 C:Python33python.exe setup.py install【Linux 或 Mac 下】sudo /usr/bin/python33 setup.py install.建議不要在IDLE上運(yùn)行EasyGuiEasyGui是運(yùn)行在Tkinter上并擁有自身的事件循環(huán),而IDLE也是Tkinter寫的一個(gè)應(yīng) 用程序并也擁有自身的事件循環(huán)。因此當(dāng)兩者同時(shí)運(yùn)行的時(shí)候,有可能會
2、發(fā)生沖突,且?guī)?不可預(yù)測的結(jié)果。因此如果你發(fā)現(xiàn)你的EasyGui程序有這樣的問題,請嘗試在IDLE外去 運(yùn)行你的程序。. 一個(gè)簡單的例子在EasyGui中,所有的GUI互動(dòng)均是通過簡單的函數(shù)調(diào)用,下邊一個(gè)簡單的例子告訴你 EasyGui 確實(shí)很 Easy!import easygui as gimport syswhile 1:g.msgbox(嗨,歡迎進(jìn)入第一個(gè)界面小游戲八_八”)msg上請問你希望在魚C工作室學(xué)習(xí)到什么知識呢? ”title = 小游戲互動(dòng)”choices =談戀愛,“編程”,“OOXX,“琴棋書畫”choice = g.choicebox(msg, title, cho
3、ices)# note that we convert choice to string, in case賬號中心【真實(shí)姓名】為必填項(xiàng)。手機(jī)號碼】為必填項(xiàng)0*E-mail為必填項(xiàng)。用戶名小甲魚嗔實(shí)姓名固定 QQ*E-mailOKCancel12.讓用戶輸入密碼有時(shí)候我們需要讓用戶輸入密碼,就是用戶輸入的東西看上去都是”*,721 passwordboxf)passwordbox(msg=Enter your password. title-;default,image=None, root=None)passwordbox()跟enterbox()樣式一樣,不同的是用戶輸入的內(nèi)容用“*”顯示出
4、來,返回用 戶輸入的字符串:請輸入密碼:*Cancel pas5wordbox(請輸入容碼:) ilovefishc 12.2 multpasswordboxf)multpasswordboxfmsgFill in values for the fields. title = ; fields=(), values=()multpasswordbox()跟multenterbox()使用相同的接口,但當(dāng)它顯示的時(shí)候,最后一個(gè)輸 入框顯示為密碼的形式(”*”):請輸入用戶名和空用:用戶名:容碼:小甲魚*0KCancel.顯示文本EasyGui還提供函數(shù)用于顯示文本。textboxf)textbo
5、x(msg=n, title= text, codebox=0) 例:g.textbox(text= open(E:新建文本文檔.txt;巧) testbox()函數(shù)默認(rèn)會以比例字體(參數(shù)codebox=1設(shè)置為等寬字體)來顯示文本內(nèi)容(會 自動(dòng)換行哦),這個(gè)函數(shù)適合用于顯示一般的書面文字。注:text參數(shù)(第三個(gè)參數(shù))可以是字符串類型,列表類型,或者元祖類型。失顯示文件內(nèi)容文件【record.txt】的內(nèi)容如下:港服:小甲魚,今天有客戶問你有沒有女朋友?小甲魚:咦? ?/港服:我跟她說你有女朋友了 !小甲Jo。/港服:她讓你分手后考慮下她!然后我說:,您要買個(gè)優(yōu)盤,我就幫您留意下.小甲魚:然
6、后呢?港服:她買了兩個(gè),說發(fā)一個(gè)貨就好小甲魚:呃你真牛!/港服:那是,誰讓我是魚C最可愛港服嘛小甲魚:下次有人想調(diào)戲你我不阻止小客服:滾! ! !宿服:小甲魚,有個(gè)好評很好笑哈。小甲魚:哦?/售服:有了小甲魚,以后媽始再也不用擔(dān)憂我的學(xué)習(xí)了.小甲魚:哈哈哈,我看到Y(jié) ,我逐發(fā)微博了呢港服:嗯嗯,我看了你的微博Y小甲魚:喲西港服:那個(gè)有條回爰“左手拿著小甲角-右手拿著打火橫,明灌不畬粘麗寇,so easy人_八”小甲魚:T_T/港服:小甲魚,今天一個(gè)會員想找你小甲魚:哦?什么事?港服:他說你一個(gè)學(xué)生月薪已經(jīng)超過12k了! 小甲魚哪里的?codeboxf)codebox(msg=n, title=
7、 ; text二)codebox()以等寬字體顯示文本內(nèi)容,相當(dāng)于textbox(codebox=1)注:等寬字體很丑的,不信你試試看_.目錄與文件GUI編程中一個(gè)常見的場景是要求用戶輸入目錄及文件名,EasyGui提供了一些基本函數(shù) 讓用戶來瀏覽文件系統(tǒng),選擇一個(gè)目錄或文件。diropenboxf)diropenbox(msg=None, title=None, default=None)diropenbox()函數(shù)用于提供一個(gè)對話框,返回用戶選擇的目錄名(帶完整路徑哦),如果 用戶選擇”Cancel”那么返回None。default參數(shù)用于設(shè)置默認(rèn)的翻開目錄(請確保設(shè)置的目錄已存在)。fi
8、leopenboxf)fileopenbox(msg=NoneJ title=None, default*, filetypes=None) fileopenbox()函數(shù)用于提供一個(gè)對話框,返回用戶選擇的文件名(帶完整路徑哦),如果 用戶選擇Cancer那么返回None。關(guān)于default參數(shù)的設(shè)置方法:default參數(shù)指定一個(gè)默認(rèn)路徑,通常包含一個(gè)或多個(gè)通配符。如果設(shè)置了 default參數(shù),fileopenbox()顯示默認(rèn)的文件路徑和格式。default默認(rèn)的參數(shù)是即匹配所有格式的文件。例如:default=c:/fishc/*.py” 即顯示 C:fishc 文件夾下所有的 Pyt
9、hon 文件。default=*c:/fishc/test*.pyH即顯示C:fishc文件夾下所有的名字以test開頭的Pyt hon文件。關(guān)于filetypes參數(shù)的設(shè)置方法:可以是包含文件掩碼的字符串列表,例如:filetypes = H*.txtn可以是字符串列表,列表的最后一項(xiàng)字符串是文件類型的描述,例如:filetypes =【css”,“HTML files”14.3 filesaveboxf)filesavebox(msg=NoneJ title=None, default, filetypes=None)filesavebox()函數(shù)提供一個(gè)對話框,讓用于選擇文件需要保存的路
10、徑(帶完整路徑哦), 如果用戶選擇“Cancel”那么返回None。default參數(shù)應(yīng)該包含一個(gè)文件名(例如當(dāng)前需要保存的文件名),當(dāng)然你也可以設(shè)置為空 的,或者包含一個(gè)文件格式掩碼的通配符。filetypes參數(shù)的設(shè)置方法請參考上邊。15.記住用戶的設(shè)置EgStoreGUI編程中一個(gè)常見的場景就是要求用戶設(shè)置一下參數(shù),然后保存下來,以便下次用戶使 用你的程序的時(shí)候可以記住他的設(shè)置。為了實(shí)現(xiàn)對用戶的設(shè)置進(jìn)行存儲和恢復(fù)這一過程,EasyGui提供了一個(gè)叫做EgStore的 類。為了記住某些設(shè)置,你的應(yīng)用程序必須定義一個(gè)類(暫時(shí)稱之為“設(shè)置”類,盡管你隨意 地使用你想要的名稱設(shè)置它)繼承自EgS
11、tore類。然后你的應(yīng)用程序必須創(chuàng)立一個(gè)該類的對象(暫時(shí)稱之為“設(shè)置”對象)。設(shè)置類的構(gòu)造函數(shù)(init_方法)必須初始化所有的你想要它所記住的那些值。一旦你這樣做了,你就可以在“設(shè)置”對象中通過設(shè)定值去實(shí)例化變量,從而很簡單地記住設(shè) 置。之后使用settings.store()方法在硬盤上持久化設(shè)置對象。下面是創(chuàng)立一個(gè)“設(shè)置”類的例子:# create settings1, a persistent Settings object# Note that the filename1 argument is required.# The directory for the persistent
12、file must already exist.#settingsFilename = os.path.join(HC:, TishCApp, settings.txt*) # Windows ex amplesettings = Settings(settingsFilename)復(fù)制代碼下面是使用”設(shè)置“對象的例子:# we initialize the user and server variables# In a real application, wed probably have the user enter them via enterboxuser = 奧巴馬”server =
13、 白宮”# we save the variables as attributes of the settings objectsettings.userid = usersettings.targetServer = serversettings.store() # persist the settings# run code that gets a new value for userid# then persist the settings with the new valueuser = ”小甲魚”settings.userid = usersettings.store()復(fù)制代碼捕獲
14、異常exceptionboxf)使用EasyGui編寫GUI程序,有時(shí)候難免會產(chǎn)生異常。當(dāng)然這取決于你如何運(yùn)行你的應(yīng) 用程序,當(dāng)你的應(yīng)用程序崩潰的時(shí)候,堆棧追蹤可能會被拋出,或者被寫入到stdout標(biāo)準(zhǔn) 輸出函數(shù)中。EasyGui通過exceptionbox()函數(shù)提供了更好的方式去處理異常,異常出現(xiàn)的時(shí)候, exceptionbox()會顯示堆棧追蹤在一個(gè)codebox。中并且允許你做進(jìn)一步的處理。exceptionbox()很容易使用,下面是一個(gè)例子:try:print(*l Love FishC !*)int(FISHC) #這里會產(chǎn)生異常except:exceptionbox()復(fù)制代
15、碼# the user cancelled the choice, and we got None.g.msgbox(你的選擇是: + str(choice), ”結(jié)果。msg = 你希望重新開始小游戲嗎?”title = 請選擇”if g.ccbox(msg5 title): # show a Continue/Cancel dialogpass # user chose Continueelse:sys.exit(O) # user chose Cancel復(fù)制代碼. EasyGui的各種功能演示要運(yùn)行EasyGui的演示程序,在命令行調(diào)用EasyGui是這樣的:C:Python33pyt
16、hon.exe easygui.py復(fù)制代碼或者你可以從IDE (例如IDLE, PythonWin, Wing,等等)上來調(diào)用: import easygui as g g.egdemo()復(fù)制代碼成功調(diào)用后你將可以嘗試EasyGui擁有的各種功能,并將你選擇的結(jié)果打印至控制臺。.導(dǎo)入 EasyGui為了使用EasyGui這個(gè)模塊,你應(yīng)該先導(dǎo)入它。最簡單的導(dǎo)入語句是:import easygui復(fù)制代碼如果你使用上面這種形式導(dǎo)入的話,那么你使用EasyGui的函數(shù)的時(shí)候,必須在函數(shù)的前 面加上前綴easygui,像這樣:1. easygui.msgbox(.)復(fù)制代碼另一種選擇是導(dǎo)入整個(gè)Ea
17、syGui包:1. from easygui import *復(fù)制代碼這使得我們更容易調(diào)用EasyGui的函數(shù),你可以直接這樣編寫代碼:1. msgboxj.)復(fù)制代碼第三種方案是使用類似下邊的import語句:1. import easygui as g復(fù)制代碼這樣可以讓你保持EasyGui的命名空間,同時(shí)減少你的打字?jǐn)?shù)量。導(dǎo)入之后你就可以這么調(diào)用EasyGui的函數(shù):1. g.msgbox(.)復(fù)制代碼.使用 EasyGui一旦你的模塊導(dǎo)入EasyGui, GUI操作就是一個(gè)簡單的調(diào)用EasyGui函數(shù)的幾個(gè)參數(shù)的 問題了。例如,使用EasyGui來實(shí)現(xiàn)著名的“你好,世界! ”程序是這樣的
18、:import easygui as gg.msgbox(HHello, world!)復(fù)制代碼. EasyGui函數(shù)的默認(rèn)參數(shù)對于所有函數(shù)而言,前兩個(gè)參數(shù)是消息和標(biāo)題。按照這個(gè)規(guī)律,在某種情況下,這可能不是 最有利于用戶的安排(例如,對話框在獲取目錄和文件名的時(shí)候忽略消息參數(shù)),但我覺得 保持這種一致性貫穿于所有的窗口部件是一種更為重要的考慮!絕大局部的EasyGui函數(shù)都有默認(rèn)參數(shù),幾乎所有的組件都會顯示一個(gè)消息和標(biāo)題。標(biāo)題默認(rèn)是空字符串,信息通常有一個(gè)簡單的默認(rèn)值。這使得你可以盡量少的去設(shè)置參數(shù),比方msgboxQ函數(shù)標(biāo)題局部的參數(shù)就是可選的,所以 你調(diào)用msgbox()的時(shí)候可以只指定
19、一個(gè)消息參數(shù),例如: msgbox,我愛小甲魚八_八)復(fù)制代碼當(dāng)然你也可以指定標(biāo)題參數(shù)和消息參數(shù),例如:1. msgbox。我愛小甲魚魚油心聲)復(fù)制代碼點(diǎn)魚湎心聲我愛小甲魚八_八OK在各類按鈕組件里,默認(rèn)的消息是“Shall I continue?”,所以你可以不帶任何參數(shù)地去調(diào)用 它們。這里我們演示不帶任何參數(shù)地去調(diào)用ccbox(),中選擇cancel”或關(guān)閉窗口的時(shí)候返 回一個(gè)布爾類型的值:if ccbox():pass # user chose to continueelse:return # user chose to cancel復(fù)制代碼.使用關(guān)鍵字參數(shù)調(diào)用EasyGui的函數(shù)調(diào)用E
20、asyGui函數(shù)還可以使用關(guān)鍵字參數(shù)哦。(如忘了的童鞋翻出零基礎(chǔ)入門學(xué)習(xí)Python第18講自行腦補(bǔ))現(xiàn)在假設(shè)你需要使用一個(gè)按鈕組件,但你不想指定標(biāo)題參數(shù)(第二個(gè)參數(shù)),你仍可以使用 關(guān)鍵字參數(shù)的方法指定choices參數(shù)(第三個(gè)參數(shù)),像這樣: choices =愿意不愿意有錢的時(shí)候愿意 reply = choicebox。你愿意購買資源打包支持小甲魚嗎? choices = choices)復(fù)制代碼你愿意購買資源打包支持小甲魚嗎?XCancel不愿意息意有錢的時(shí)候愿意8,使用按鈕組件根據(jù)需求,EasyGui在buttonbox()上建立了一系列的函數(shù)供調(diào)用。. 1 msgboxf)msgb
21、ox(msg=(Your message goes here), title*;ok_button=VK, image=NoneJ root=None)msgbox()顯示一個(gè)消息和提供一個(gè)“OK“按鈕,你可以指定任意的消息和標(biāo)題,你甚至可以 重寫“0K”按鈕的內(nèi)容。以下是msgbox()的實(shí)例函數(shù):def msgbox(msg=n(Your message goes here), title=, ok_button=nOKH):.復(fù)制代碼重寫“OK”按鈕最簡單的方法是使用關(guān)鍵字參數(shù):1. msgbox(我一定要學(xué)會編程! ok_button=加油!”)復(fù)制代碼ccbox()ccbox(msg
22、=Shall I continue?, title, choices=(,Continue,1 Cancel1), image=None)ccbox()提供一個(gè)選擇:Continue或者Cancel,并相應(yīng)的返回1 (選中Continue)或者0 (選中 Cancel)。注意ccbox()是返回整型的1或0,不是布爾類型的True或False。但你仍然可以這么 寫:if ccbox(要再來一次嗎? choices不要啊要啊八,算了吧T_T):msgbox。不給玩了,再玩就玩壞了)else:sys.exit(O) # 記得先 import sys 哈復(fù)制代碼ynbox()ynbox(msg=Sh
23、all I continue?, title;choices=(,Yes No), image=None)同上,都不知作者設(shè)計(jì)這兩玩意兒搞啥buttonboxf)buttonbox(msg=u, title*choices=(,Button1 ,Button2,J Buttons), image=Nonef root=None)可以使用buttonbox()定義自己的一組按鈕,buttonbox()會顯示一組你定義好的按鈕。當(dāng)用戶點(diǎn)擊任意一個(gè)按鈕的時(shí)候,buttonbox()返回按鈕的文本內(nèi)容。如果用戶取消取消或 者關(guān)閉窗口,那么會返回默認(rèn)選項(xiàng)(第一個(gè)選項(xiàng))。請看例子:你喜歡以下哪一種水果?i
24、ndexboxf)indexbox(msg=Shall I continue?t titlechoices=(YesJNo), image=None)基本跟上邊一樣,區(qū)別就是當(dāng)用戶選擇第一個(gè)按鈕的時(shí)候返回序號0,選擇第二個(gè)按鈕的 時(shí)候返回序號Kboolboxf)boolbox(msg=,Shall I continue?, title*, choices=(YesJ No), image=None)如果第一個(gè)按鈕被選中那么返回1,否那么返回0o.如何在buttonbox里邊顯示圖片當(dāng)你調(diào)用一個(gè)buttonbox函數(shù)(例如msgbox(), ynbox(), indexbox()等等)的時(shí)候,你
25、還 可以為關(guān)鍵字參數(shù)image賦值,這是設(shè)置一個(gè).gif格式的圖像(注意僅支持GIF格式哦):buttonbox。大家說我長得帥嗎? image=,turtle.gif, choices=(帥不帥!#$%)復(fù)制代碼.為用戶提供一系列選項(xiàng)choiceboxf)choicebox(msg=Pick something.; title-choices=() 按鈕組件方便提供用戶一個(gè)簡單的按鈕選項(xiàng),但如果有很多項(xiàng)選擇項(xiàng),或者選項(xiàng)的內(nèi)容特別長的 話,更好的策略是為它們提供一個(gè)可選擇的列表。choicebox()為用戶提供了一個(gè)可選擇的列表,使用序列(元祖或列表)作為選項(xiàng),這些選 項(xiàng)顯示前會按照不區(qū)分大小
26、寫的方法排好序。另外還可以使用鍵盤來選擇其中一個(gè)選項(xiàng)(比擬糾結(jié),但一點(diǎn)兒都不重要):例如當(dāng)按下鍵盤上的鍵,將會選中的第一個(gè)以開頭的選項(xiàng)。再次按下“g“鍵,那么會選中下一個(gè)以“g”開頭的選項(xiàng)。在選中最后一個(gè)以“g”開頭的選項(xiàng)的時(shí)候,再次按下 鍵將重新回到在列表的開頭的第一個(gè)以” g“開頭的選項(xiàng)。如果選項(xiàng)中沒有以“g開頭的,那么會選中字符排序在”g“之前(牛)的那個(gè)字符開頭的選項(xiàng)如果選項(xiàng)中沒有字符的排序在“g”之前的,那么在列表中第一個(gè)元素將會被選中。綜合我們之前學(xué)習(xí)的文件功能,舉個(gè)高達(dá)上的例子(源代碼在第35講的課后作業(yè)中八_八):10.2 multchoiceboxf)multchoicebox(msg= Pick as many items as you like. title= ; choices=(), *kwargs)multchoicebox()函數(shù)也是提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 會場布置合同范本
- 鄉(xiāng)鎮(zhèn)商品房出租合同范本
- pe管材及管件購銷合同范本
- 協(xié)議離婚陰陽合同范本
- 酒店投資合作合同范本
- 燒豬店鋪轉(zhuǎn)讓合同范本
- 櫥柜衣柜制作及其安裝合同范本
- 國際采購合同范本
- 合法用工合同范本
- 教育機(jī)構(gòu)培訓(xùn)合同范本
- 職業(yè)健康安全交底
- GB∕T 28610-2020 甲基乙烯基硅橡膠
- GB∕T 7588.1-2020 電梯制造與安裝安全規(guī)范 第1部分:乘客電梯和載貨電梯
- 4.昆蟲備忘錄 課件(共15張PPT)
- DB37∕T 5191-2021 高延性混凝土加固技術(shù)規(guī)程
- 2022年全省公訴業(yè)務(wù)知識考試參考答案
- 田字格(綠色標(biāo)準(zhǔn))
- 鎮(zhèn)政府(街道辦事處)辦公大樓平面圖
- 軟壓光機(jī)計(jì)算說明
- 森林防火安全責(zé)任書(施工隊(duì)用)
- 水庫應(yīng)急搶險(xiǎn)與典型案例分析
評論
0/150
提交評論