本章,我們將學(xué)習(xí)GUI(Graphics User Interface), 即圖形用戶界面編程,我們可以通過(guò)python提供的豐富的 組件,快速的實(shí)現(xiàn)使用圖形界面和用戶交互。 GUI編程類似于“搭積木”,將一個(gè)個(gè)組件(Widget)放到 窗口中。如下是 windows 中的畫(huà)圖軟件,就是一個(gè)典型的 GUI程序:

上面的各種按鈕、菜單、編輯區(qū)域等都是一個(gè)個(gè)組件,它 們都放置到窗口中,并通過(guò)增加“對(duì)事件的處理”成為一個(gè) 完整的程序。
常用的GUI 庫(kù)
1. Tkinter tkinter(Tkinterface)是Python的標(biāo)準(zhǔn)GUI庫(kù),支持跨 平臺(tái)的GUI程序開(kāi)發(fā)。tkinter 適合小型的 GUI程序編寫(xiě), 也特別適合初學(xué)者學(xué)習(xí)GUI編程。本書(shū)以tkinter為核心進(jìn) 行講解。 2. wxPython wxPython是比較流行的GUI庫(kù),適合大型應(yīng)用程序開(kāi)發(fā), 功能強(qiáng)于 tkinter,整體設(shè)計(jì)框架類似于 MFC(Microsoft FoundationClasses微軟基礎(chǔ)類庫(kù))。
3. PyQT Qt是一種開(kāi)源的GUI庫(kù),適合大型GUI程序開(kāi)發(fā),PyQT 是 Qt 工具包標(biāo)準(zhǔn)的 Python 實(shí)現(xiàn)。我們也可以使用 Qt Desginer界面設(shè)計(jì)器快速開(kāi)發(fā)GUI應(yīng)用程序。
tkinter 模塊
本章中,涉及大量的API講解。學(xué)習(xí)API最好的來(lái)源就是 官方提供的文檔:tkinter官方網(wǎng)址: https://docs.python.org/3.7/library/tk.html
或者:http://effbot.org/tkinterbook/ (相對(duì)規(guī)整,適合 初學(xué)者查找)
由于官方都是英文,我們?cè)谑谡n過(guò)程中盡量不涉及。英文 好的同學(xué)可以自行查找相關(guān)說(shuō)明。我們也希望英文較差的同 學(xué)也能盡量多的學(xué)習(xí)英文,對(duì)于后續(xù)技術(shù)的理解有較大的幫 助。大家也可以去“北京尚學(xué)堂”官網(wǎng)下載我們提供的常見(jiàn) 1800個(gè)開(kāi)發(fā)詞匯。
GUI 編程的核心步驟和第一個(gè)GUI 程序
基于tkinter模塊創(chuàng)建GUI程序包含如下4個(gè)核心步驟:
?1. 創(chuàng)建應(yīng)用程序主窗口對(duì)象(也稱:根窗口)
?(1)通過(guò)類Tk的無(wú)參構(gòu)造函數(shù)

2. 在主窗口中,添加各種可視化組件,比如:按鈕(Button)、 文本框(Label)等。?
btn01 = Button(root)
btn01["text"] = "點(diǎn)我就送花"
3. 通過(guò)幾何布局管理器,管理組件的大小和位置?
btn01.pack()
4. 事件處理 (1)通過(guò)綁定事件處理程序,響應(yīng)用戶操作所觸發(fā)的事件 (比如:?jiǎn)螕?、雙擊等)?

查看完整教程請(qǐng)點(diǎn)擊下載:GUI圖形用戶界面編程.pdf