目錄:
一、安裝GUI工具包:EasyGui
二、匯入EasyGui
三、使用EasyGui
四、修改預設設定
五、課時35課後習題及答案
***********************************
一、安裝GUI工具包:EasyGui
***********************************
本章介紹的是圖形使用者介面程式設計,也就是平時所說的GUI(讀作【gu:i】)程式設計,那些帶有按鈕、文字、輸入框的視窗的程式設計,相信大夥都不會陌生。
目前有很多Python的GUI工具包可供選擇,Python有一個非常簡單的GUI工具包:EasyGui。EasyGui跟它的名字一樣的簡單,一旦你的模組匯入了EasyGui,GUI操作就是一個簡單地呼叫EasyGui函式的幾個引數的問題了。
EasyGui官網:http://easygui.sourceforge.net
使用標準方法安裝:
第一步:解壓easygui-0.96.zip
第二步:使用命令視窗切換到easygui-docs-0.96的目錄下。
第三步:在windows下執行 C:\Python34\python.exe setup.py install
在Linux或Mac下執行 sudo /usr/bin/python34 setup.py install
(命令的前面部分是python程式在電腦上的安裝路徑,自行進行修改)
windows下的安裝介面如下圖所示:
********************
二、匯入EasyGui
********************
為了使用這個Easygui這個模組,你應該先匯入它。最簡單的匯入語句是 import easygui。
如果用這種匯入方式的話,那麼在使用easygui的函式時候,必須在函式的前面加上字首easygui:
>>> import easygui >>> easygui.msgbox("DC love ZWW")
回車後即彈出訊息框,如圖所示:
另一種選擇是匯入整個Easygui包:from easygui import *,這樣使得我們更容易呼叫Easygui的函式,可以直接這樣編寫程式碼:
>>> from easygui import * >>> msgbox("DC love ZWW")
第三種方案是使用類似下邊的import語句(建議使用):import easygui as g,這樣可以讓你保持Easygui的名稱空間,同時減少輸入字元的數量:
>>> import easygui as g >>> g.msgbox("DC love ZWW")
********************
三、使用EasyGui
********************
舉一個簡單的例子:
import easygui as g import sys while 1: g.msgbox ("嗨,歡迎進入第一個介面小遊戲") msg = "請問你希望學到什麼知識呢?" title = "遊戲小互動" choices = ["談戀愛","程式設計","demo","琴棋書畫"] choices = g.choicebox(msg,title,choices) g.msgbox("您的選擇是:"+str(choices),"結果") msg = "你希望重新開始小遊戲嗎?" title = "請選擇" if g.ccbox(msg,title): pass else: sys.exit(0)
*********************
四、修改預設設定
*********************
預設情況下顯示的對話方塊會很大,而且字型也相對難看。這裡可以手動調整EsayGui的引數修改。
修改位置為 C:\Python34\Lib\site-packages\easygui.py。
更改對話方塊尺寸:找到def _ _choicebox,下邊的 root_width = int((screen_width * 0.8))和 root_height = int((screen_height * 0.5))分別改為root_width = int((screen_width * 0.4))和 root_height = int((screen_height * 0.25))
EasyGui提供了非常多的元件供我們實現一個完整的介面程式,剛才演示了 msgbox、choicebox和ccbox的用法。關於更多的組建使用,大家可以參考小甲魚翻譯的《EasyGui學習文件》:http://bbs.fishc.com/thread-46069-1-1.html
*******************************
五、課時35課後習題及答案
*******************************