Python程序設計-教案-單元九 GUI編程_第1頁
Python程序設計-教案-單元九 GUI編程_第2頁
Python程序設計-教案-單元九 GUI編程_第3頁
Python程序設計-教案-單元九 GUI編程_第4頁
Python程序設計-教案-單元九 GUI編程_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

《Python程序設計》教案單元九GUI編程

課學內容制作個人信息調查系統(tǒng)教學目標素質目標:提高對類似事物歸納總結的能力,加強團隊合作能力。知識目標:理解使用tkinter進行GUI編程的主要步驟。熟悉tkinter的常用控件。掌能力目標:能夠利用tkinter控件制作個人信息調查系統(tǒng)。教學重難點教學重點:tkinter的常用控件及使用。教學難點:使用tkinter進行GUI編程。教學方法案例分析法、問答法、討論法、講授法、實訓法教學用具電腦、投影儀、多媒體課件、教材教學設計教學過程主要教學內容及步驟設計意圖課前任務【教師】布置課前任務,提醒同學通過學習軟件,完成課前任務請大家自行搜集資料了解信息調查表的意義,并且預習本任務需要的相關知識點?!緦W生】完成課前任務通過課前任務,使學生了解本次課的重要性,增加學生的學習興趣考勤

(2min)【教師】清點上課人數,記錄好考勤【學生】班干部交假條培養(yǎng)學生的組織紀律性,掌握學生的出勤情況新課預熱

(10min)【教師】與學生簡單互動,復習回顧上次課的內容等【學生】聆聽、互動【教師】講述本項目的作用和開設本項目的原因到目前為止,我們所編寫的Python代碼都是處于一個文字交互界面的狀態(tài)。但在實際應用中,很多用戶都是非專業(yè)的,他們希望所提供的軟件能有一個友好的界面,這就用到GUI編程了。GUI(GraphicalUserInterface)又稱圖形用戶界面,是指采用圖形方式顯示的用戶操作界面。Python的GUI工具包有很多,其中最常用的有tkinter、wxPython、PyGTK、PyQt等,本單元將介紹如何使用tkinter來編寫GUI程序?!窘處煛扛爬ū敬握n總體學習內容,讓學生大體了解本次課學習內容tkinter是Python的標準GUI庫。Python使用tkinter可以快速的創(chuàng)建GUI應用程序。通過老師與學生的互動,并讓學生了解這次課的知識點大致要求問題導入(5min)【教師】提出以下問題:一個軟件的界面友好是指什么?【學生】思考、舉手回答【教師】通過學生的回答引入要講的知識通過問題導入的方法,引導學生主動思考,激發(fā)學生的學習興趣傳授新知

(30min)tkinter簡介【教師】講解tkinter簡介tkinter是Python的標準GUI庫。tkinter的優(yōu)點是簡單易用,與Python結合度好。tkinter在Python3.x下默認集成,不需要額外安裝。因此,想要使用tkinter進行GUI編程,可直接使用import語句導入tkinter模塊。如下所示。importtkinter【學生】聆聽、記錄、理解tkinter的使用【教師】講解tkinter的使用方法創(chuàng)建一個GUI應用程序需要以下五個主要步驟:步驟1:導入tkinter模塊(importtkinter);步驟2:創(chuàng)建一個頂層窗口對象(調用Tk()函數),用于容納整個GUI應用;步驟3:在頂層窗口對象上構建所有的GUI控件;步驟4:進入主事件循環(huán)(調用mainloop()函數);步驟5:通過底層應用代碼將這些GUI控件連接起來?!緦W生】聆聽、記錄、理解tkinter常用控件【教師】講解tkinter常用控件及屬性使用1.窗口窗口也稱為框架(Frame),是屏幕上的一塊矩形區(qū)域,多用來作為容器布局窗體。窗口中可包含標簽、菜單、按鈕等其他控件,其運行之后可移動和縮放。2.Label控件Label控件是用于在界面上輸出描述信息的標簽,可以顯示文本和圖像。3.Button控件通過Button控件可以方便地與用戶進行交互。Button控件有一個command屬性,用于指定一個函數或方法,當用戶單擊按鈕時,tkinter就會自動調用該函數或方法。4.Entry控件Entry控件就是輸入框,用來輸入單行內容,可以方便地向程序傳遞用戶參數。獲取輸入框的內容可以使用Entry控件的get()方法。5.Radiobutton控件Radiobutton控件用于實現選項的單選功能。6.Checkbutton控件Checkbutton控件用于實現選項的復選功能。一個Checkbutton組件一般只能進行一組“是”與“非”的選擇,因為在默認情況下,variable選項在選中狀態(tài)時值為1,反之則為零為0。7.Menu控件tkinter提供了Menu控件,用于實現頂級菜單、下拉菜單和彈出菜單?!窘處煛糠謩e演示例9-1至例9-9程序【學生】觀察運行結果并討論【學生】聆聽、記錄、理解【教師】強調以下問題通過教師的講解和演示,使學生了解Python中tkinter的常用控件的使用任務實施(15min)【教師】帶領學生完成任務一?【教師】提出任務個人信息調查是一種非常有效的研究方法,用于收集和分析有關個人信息的數據。它可以根據調查目的統(tǒng)計個人的相關信息(如姓名、性別、年齡、愛好和座右銘等),用于人群數據分析。本任務將帶領大家編寫Python程序,使用tkinter常用控件,制作個人信息調查系統(tǒng)。【學生】思考、討論一、進行任務分析:完成本任務需要進行以下步驟。1.導入tkinter模塊,其中要用到Label控件、單選框Radiobutton控件、復選框Checkbutton控件、按鈕Button控件和messagebox模塊,messagebox模塊(在后面有詳細的講解)用于顯示一個模式對話框,本任務需調用messagebox模塊是用對話框來顯示調查個人信息結果。2.創(chuàng)建一個Tk根窗口組件root,并設置窗口標題為“個人信息調查”,然后通過root.geometry("300x200")設置彈出窗口的大小。3.定義一個Application類,讓其繼承tkinter模塊中的Frame類,在類中定義一個構造函數;構造函數應包括所繼承父類的構造函數以及自己定義的一些功能。具體實現步驟如下。1)用self.grid(),調用grid方法(grid布局方法在后面有詳細的講解),調整其顯示位置和大?。?)用tk.Label顯示“個人信息調查”這一標題,以及顯示“姓名、性別、年齡、愛好和座右銘”這四行,并且確定其位置;3)用tk.Entry創(chuàng)建Entry組件,分別顯示姓名、年齡和座右銘對應的文本框;4)創(chuàng)建單選框:先創(chuàng)建StringVar對象,并設置初始值"男",再用tk.Radiobutton分別創(chuàng)建男女兩個可選按鈕,并確定其位置;5)創(chuàng)建復選框:先創(chuàng)建StringVar對象,并設置初始值"no",再用tk.Checkbutton分別創(chuàng)建“音樂、運動、旅游和影視”四個選項,并且設置其位置。在用戶勾選時,用get()獲取,并且將“no”改為“yes”;6)設置“提交和取消”兩個按鍵:用tk.Button實現,并且確定其位置,在這里需要多加一步:command,即為了與下面的功能實現綁定;7)定義提交事件處理程序(在后面有詳細的講解):用.get()來獲取輸入的姓名;用self.sex.get()來獲取勾選的性別;用self.age.get()來獲取輸入的年齡;用self.h1.get()、self.h2.get()、self.h3.get()、self.h4.get()四個獲取勾選的愛好;用self.motto.get()來獲取輸入的年齡;最后用k.messagebox.showinfo將消息框彈出,實現功能;4.最后創(chuàng)建Application的實例對象,將Application功能在根窗口組件root上進行實現,隨后調用組件的mainloop方法,進入事件循環(huán)。二、參考代碼(教師展示)三、代碼運行四、代碼分析(主要代碼):【學生】聆聽、記錄、理解通過任務實施環(huán)節(jié),讓學生將所學知識與實踐相結合,培養(yǎng)學生的實操能力實操練習(15min)【教師】布置任務編寫Python程序,使用tkinter常用控件,制作個人信息調查系統(tǒng)?!窘處煛垦蔡幂o導,及時解決學生遇到的問題;安排每組做得最快、最好的學生輔導其他學生進行操作,并解答其遇到的問題【學生】對比自己的結果,若結果有誤,查找并記錄原因通過實操練習使學生鞏固所學知識,并以學生為主體,針對學生接受能力的差異性,讓優(yōu)秀學生帶動其他學生掌握知識課堂小結

(3min)【教師】簡要總結本節(jié)課的要點tkinter是Python的標準GUI庫。Python使用tkinter可以快速的創(chuàng)建GUI應用程序。想要使用tkinter進行GUI編程,可直接使用import語句導入tkinter模塊。【學生】總結回顧知識點總結知識點,鞏固學生對tkinter的常用控件相關知識的印象作業(yè)布置

(2min)【教師】布置課后作業(yè)【學生】完成課后任務通過課后作業(yè)復習鞏固學到的知識,提高實際操作能力教學反思本次課講授的主要是Python中如何使用tkinter進行GUI編程的主要步驟;以及tkinter的常用控件。通過知識點的學習和實踐,讓學生對Python中tkinter的常用控件有了更深入的了解。通過使用tkinter常用控件,制作個人信息調查系統(tǒng),提高了學生的學習興趣,掌握了Python的具體應用,在設計過程中,對tkinter常用控件有了進一步認識,取得了不錯的教學效果。在以后的教學中,重點關注理論知識和實際應用的結合,使學生能夠學有所用。

教學內容實現鼠標的花樣教學目標素質目標:鍛煉想象力、創(chuàng)造力、邏輯思維能力。知識目標:掌握事件綁定的方法。了解標準對話框的使用方法。能力目標:能夠實現鼠標的花樣——隨機生成大寫字母。教學重難點教學重點:事件綁定的方法,標準對話框的使用方法。教學難點:事件綁定的方法應用。教學方法案例分析法、問答法、討論法、講授法、實訓法教學用具電腦、投影儀、多媒體課件、教材教學設計教學過程主要教學內容及步驟設計意圖課前任務【教師】布置課前任務,提醒同學通過學習軟件,完成課前任務請大家自行預習本任務需要的相關知識點?!緦W生】完成課前任務通過課前任務,使學生了解本次課的重要性,增加學生的學習興趣考勤

(2min)【教師】清點上課人數,記錄好考勤【學生】班干部交假條培養(yǎng)學生的組織紀律性,掌握學生的出勤情況新課預熱

(10min)【教師】與學生簡單互動,復習回顧上次課的內容等【學生】聆聽、互動事件處理,是GUI程序中不可或缺的重要組成部分,相比來說,控件只是組成一臺機器的零部件,而事件處理則是驅動這臺機器“正常”運轉的關鍵所在,它能夠將零部件之間“優(yōu)雅”的貫穿起來,因此“事件處理”可謂是GUI程序的“靈魂”,同時它也是實現人機交互的關鍵。一個tkinter應用程序的大部分時間花費在事件循環(huán)上(通過mainloop()方法進入)。事件可以有多種來源,包括用戶觸發(fā)的鼠標、鍵盤操作或是系統(tǒng)事件。通過老師與學生的互動,并讓學生了解這次課的知識點大致要求問題導入(5min)【教師】提出以下問題:如何實現人機交互?關鍵點在哪?【學生】思考、舉手回答【教師】通過學生的回答引入要講的知識通過問題導入的方法,引導學生主動思考,激發(fā)學生的學習興趣傳授新知

(30min)事件綁定方法【教師】講解事件綁定語法tkinter提供了強大的事件處理機制,對于每個控件來說,可以通過bind()方法將函數或方法綁定到具體的事件上,其語法格式如下所示??丶ο竺?bind(event,handler)其中,event表示事件的類型,是tkinter已經定義好的事件,并使用“尖括號”的形式進行包裹;Handler表示事件的處理函數?!窘處煛垦菔纠?-10程序【學生】觀察運行結果并討論【學生】聆聽、記錄、理解常用事件類型【教師】講解事件類型和事件對象事件類型(也稱事件碼)是tkinter模塊規(guī)定的,主要包括鼠標、鍵盤、光標等相關事件,tkinter為其規(guī)定了相應的語法格式:<modifier-type-detail>說明:事件類型必須用尖括號括起來;type字段是最重要的,它通常用于描述事件的具體類型,如鼠標單擊、鍵盤輸入等;modifier字段是可選的,它通常用于描述組合鍵,如Ctrl、Shift等;detail字段也是可選的,它通常用于描述具體的按鍵,如Button-1表示單擊鼠標左鍵。三、事件對象當tkinter調用預先定義的函數時,會將事件對象(作為參數)傳遞給函數。【教師】演示例9-11程序【學生】觀察運行結果并討論【學生】聆聽、記錄、理解標準對話框【教師】講解標準對話框常用模塊的使用1.messagebox模塊messagebox模塊用于顯示一個模式對話框,其中包含一個系統(tǒng)圖標、一組按鈕和一個簡短的特定于應用程序的消息,如狀態(tài)或錯誤信息。messagebox模塊大致分為:askokcancel(),askquestion(),askretrycancel(),askyesno(),showerror(),showwarning()2.filedialog模塊filedialog模塊用于打開文件對話框,該模塊提供了兩個函數:1)askopenfilename()函數用于打開“打開”對話框。2)asksaveasfilename()函數用于打開“另存為”對話框。3.colorchooser模塊colorchooser模塊用于打開顏色選擇對話框,由askcolor()函數實現?!窘處煛糠謩e演示例9-12、例9-13、例9-14程序【學生】觀察運行結果并討論【學生】聆聽、記錄、理解通過教師的講解和演示,使學生了解Python中事件綁定的方法任務實施(15min)【教師】帶領學生完成任務二?【教師】提出任務用戶可以在GUI界面中,通過雙擊鼠標在雙擊處輸出一個隨機生成的大寫字母。本任務將帶領大家編寫Python程序,實現鼠標的花樣——隨機生成大寫字母?!緦W生】思考、討論一、進行任務分析:完成本任務,首先創(chuàng)建一個初始窗口處于最大化狀態(tài)的程序,然后利用tlinter中的事件處理綁定鼠標雙擊事件,實現在雙擊處輸出一個隨機生成的大寫字母。執(zhí)行程序,會創(chuàng)建一個處于最大化狀態(tài)初始窗口(GUI界面),在窗口中任意位置任意雙擊鼠標,則會隨機生成一個大寫字母。二、參考代碼:教師展示三、代碼運行四、代碼分析(主要代碼):【學生】聆聽、記錄、理解通過任務實施環(huán)節(jié),讓學生將所學知識與實踐相結合,培養(yǎng)學生的實操能力實操練習(15min)【教師】布置任務編寫Python程序,實現鼠標的花樣?!窘處煛垦蔡幂o導,及時解決學生遇到的問題;安排每組做得最快、最好的學生輔導其他學生進行操作,并解答其遇到的問題【學生】對比自己的繪制結果,若繪制有誤,查找并記錄原因通過實操練習使學生鞏固所學知識,并以學生為主體,針對學生接受能力的差異性,讓優(yōu)秀學生帶動其他學生掌握知識課堂小結

(3min)【教師】簡要總結本節(jié)課的要點tkinter提供了強大的事件處理機制,對于每個控件來說,可以通過bind()方法將函數或方法綁定到具體的事件上?!緦W生】總結回顧知識點總結知識點,鞏固學生對Python中的事件綁定相關知識的印象作業(yè)布置

(2min)【教師】布置課后作業(yè)【學生】完成課后任務通過課后作業(yè)復習鞏固學到的知識,提高實際操作能力教學反思本次課講授的主要是Python中。通過知識點的學習和實踐,讓學生對Python中有了更深入的了解。通過編寫Python程序,實現鼠標的花樣,提高了學生的學習興趣,掌握了Python的具體應用,在設計過程中,對有了進一步認識,取得了不錯的教學效果。在以后的教學中,重點關注理論知識和實際應用的結合,使學生能夠學有所用。

教學內容制作計算器教學目標素質目標:提高解決問題的能力和自信心。貫徹互助共享的精神。 知識目標:掌握布局管理器的使用方法。 能力目標:能夠設計GUI程序,制作具有計算器界面和用戶交互按鈕的計算器。教學重難點教學重點:。教學難點:。教學方法案例分析法、問答法、討論法、講授法、實訓法教學用具電腦、投影儀、多媒體課件、教材教學設計教學過程主要教學內容及步驟設計意圖課前任務【教師】布置課前任務,提醒同學通過學習軟件,完成課前任務請大家自行搜集資料了解計算器的構造,并且預習本任務需要的相關知識點?!緦W生】完成課前任務通過課前任務,使學生了解本次課的重要性,增加學生的學習興趣考勤

(2min)【教師】清點上課人數,記錄好考勤【學生】班干部交假條培養(yǎng)學生的組織紀律性,掌握學生的出勤情況新課預熱

(10min)【教師】與學生簡單互動,復習回顧上次課的內容等所謂布局,就是指控制窗體容器中各個控件(組件)的位置關系。tkinter提供了三種常用的布局管理器,分別是:pack布局、grid布局、place布局。這三種布局管理在同一個masterwindow里是不可以混用的?!緦W生】聆聽、互動通過老師與學生的互動,并讓學生了解這次課的知識點大致要求問題導入(5min)【教師】提出以下問題:什么是界面布局?如何進行合理布局?【學生】思考、舉手回答【教師】通過學生的回答引入要講的知識通過問題導入的方法,引導學生主動思考,激發(fā)學生的學習興趣傳授新知

(30min)【教師】講解布局管理器一、pack布局使用pack布局,將向容器中添加組件,第一個添加的組件在最上方,然后是依次向下添加。默認在容器中自頂向下垂直添加組件。二、grid布局grid布局又稱為網格布局,是tkinter布局管理器中最靈活多變的布局方法。由于大多數程序界面都是矩形的,我們可以將它劃分為由行和列組成的網格,然后根據行號和列號,將控件放置于網格之中。在grid布局中的所有控件都會被賦予一個行號和一個列號,這是每個控件相對于其他控件位置的憑證。同一列控件上下排布,同一行控件左右排布。行與列的寬度和高度由內部的控件決定,在使用grid布局時,不需要關注行和列的大小。使用grid布局只需要在創(chuàng)建控件之后,指定控件放置的表格行號和列號就可以了。三、place布局place布局是使用控件坐標來放置控件的位置?!窘處煛糠謩e演示例9-16、例9-17、例9-18程序【學生】觀察運行結果并討論【學生】聆聽、記錄、理解【教師】強調以下問題在同一個主窗口中不要混用這3種布局管理器。不推薦使用place布局,因為在不同分辨率下,界面往往有較大差異。通過教師的講解和演示,使學生了解Python中布局管理器的使用任務實施(15min)【教師】帶領學生完成任務三?【教師】提出任務計算器要實現的功能是對兩個數進行算術運算,0-9十個數字和每種運算符號都可以通過按鈕(數字按鈕、符號按鈕等)實現,用戶通過單擊按鈕來進行算術運算。本任務將帶領大家利用Python設計GUI程序,制作具有計算器界面和用戶交互按鈕的計算器?!緦W生】思考、討論一、進行任務分析:完成本任務,需分別完成兩大功能模塊:1.創(chuàng)建計算器界面:計算器界面由多個按鈕(如數字按鈕、符號按鈕等)和一個標簽(用于輸出按鈕信息和計算結果)構成,可利用tkinter提供的Button控件和Label控件實現,再利用布局管理器(grid布局)將各個控件排列顯示,其中創(chuàng)建Button控件時利用其command屬性

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論