PAGEPAGE4課題目標重難點
第15課Python的圖形界面設(shè)計通過簡單的GUI程序設(shè)計,讓學(xué)生了解tkinter模塊的概念,了解tkinter的常用組件,能夠編寫簡單使用tkinter模塊的應(yīng)用程序。知識目標:了解tkinter模塊的概念;了解tkinter模塊的常用組件技能目標:初步掌握tkinter模塊的應(yīng)用,能夠編寫簡單使用tkinter模塊的應(yīng)用程序。情感目標:培養(yǎng)學(xué)生的思維能力和探索精神,讓學(xué)生體驗算法的樂趣。重點:了解tkinter模塊的概念和常用組件。難點:能夠編寫簡單使用tkinter模塊的應(yīng)用程序。教學(xué)活動設(shè)計 設(shè)計意圖一、導(dǎo)入:想不想再寫一遍了?生:不想寫了,太簡單了。師:那我們來給這幾個算法一個華麗的變身,請看(圖形界面的展示有什么改變呢?生:(圖形界面)師:那變身圖形界面的算法是不是更有意思,并且更有實用性呢?生:是!師:那我們今天就來看一看如何給算法加上一層華麗的衣服——圖形界
這些算法對學(xué)生來來說都是比較簡單的算面。二、新授:圖形用戶界面(簡稱GUI)便。tkintertkinter是Python的內(nèi)置GUI模塊。Python的GUI庫非常多,之所以選擇Tkinter,一是最為簡單,二是自帶庫,不需下載安裝,隨時使用,跨平臺兼容性非常好。tkinterGUIIDLEtkinter模塊編寫而成的。使用tkinter創(chuàng)建圖形界面時,首先使用import語句導(dǎo)入tkinter模塊,然后使用tkinter.Tk生成一個主窗體對象。GUI任務(wù)的無組件GUI程序:importtkinterastkimporttkinter.messageboxwin=tk.Tk()(tkinter.Tk()生成一個主窗體對象)win.title("python")win.geometry("250x130")(win.mainloop()(mainloop()使窗體中添加的組件能得到及時刷新)能,可以最小化、最大化或關(guān)閉,甚至可以使用鼠標調(diào)整其大小。3、tkinter的常用組件
教師帶領(lǐng)學(xué)生一起來認識python自帶的tkinter模塊先讓學(xué)生完成一個簡單跟著課堂一步一步完成教學(xué)要求。組件名稱描述組件名稱描述Label標簽組件可以顯示文本和位圖Entry輸入組件用于顯示簡單的文本內(nèi)容Text文本組件用于顯示多行的文本內(nèi)容Button按鈕組件在程序中顯示按鈕方法 功能pack() 既可實現(xiàn)水平排列,也可實現(xiàn)垂直排grid() 按照行、列的方式擺放組件place() 指定組件的絕對位置
讓學(xué)生改一下其他屬性,看看變化。幫助理解代碼的作用。做一做:使用tkinter向窗體添加“退出”按鈕importtkinter#導(dǎo)入tkinter模塊win=tkinter.Tk() 生成一個主窗體對win.title("python") win.geometry("300x350") defmy_quit():(自定義單擊這個按鈕后的事件處理函數(shù)my_quit()) 討交流,完成任務(wù)。win.quit()win.destroy()but_quit=tkinter.Button(win,text="退出",command=my_quit,width=10,height=2)(實例化tkinter模塊中的1個按(Button)組件but_quit.pack() (調(diào)用pack()進行組件布)win.mainloop()進入消息循環(huán)4、tkinter模塊的綜合應(yīng)用“自底向上”的執(zhí)行方法。其基本思想是:首先將一個復(fù)雜問題分解為多個小問題 通過綜合任務(wù)的實踐然后只需把處理這些小問題的解決方法組合起來就可以得到整體的解決學(xué)生學(xué)習(xí)到解決實際問方案。 題的思路和方法練一練:嘗試運用Python的tkinter模塊,和教師提供代碼材料,設(shè)計用戶登錄界面。設(shè)計思路:設(shè)計基本框架。設(shè)計提示標簽、輸入框和按鈕。2#設(shè)計2個提示標簽labnametk.Label(win,text=width=80)labpwd=tk.Label(win,text='賬號:',width=80)3but_Ok=tk.Button(win,text="登錄",command=login)but_Cancel=tk.Button(win,text="重置",command=cancel)but_quit=tk.Button(win,text="退出",command=_quit)設(shè)計功能函數(shù)。#設(shè)計功能函數(shù)var_Name=tk.StringVar()#設(shè)置變量為stringVar對象
重點引導(dǎo)學(xué)生對于代碼var_Name.set('')#初始和重置時的清空 思路。var_Pwd=tk.StringVar()var_Pwd.set('')#按鈕處理函數(shù)deflogin():#獲取用戶名和密碼name=var_Name.get()pwd=var_Pwd.get()ifname=='admin'andpwd=='python':tk.messagebox.showinfo(title='用戶登錄',message='登錄成功!')else:tk.messagebox.showerror('用戶登錄',message='登錄失敗')defcancel():#清空用戶輸入的用戶名和密碼var_Name.set('')var_Pwd.set('')def_quit():win.quit()win.destroy()設(shè)計組件布局。#--登錄窗口各組件布局#組件的窗口布局labname.place(x=20,y=10,width=80,heigh=20)labpwd.place(x=20,y=40,width=80,heigh=20)entname.place(x=120,y=10,width=80,heigh=20)entpwd.place(x=120,y=40,width=80,heigh=20)but_Ok.place(x=30,y=80,width=50,heigh=20)but_Cancel.place(x=100,y=80,width=50,heigh=20)
完整程序的組合考驗學(xué)but_quit.place(x=170,y=80,width=50,heigh=20) 學(xué)生討論總結(jié)
要多加引導(dǎo),幫助學(xué)生理解,學(xué)生也可以小組之間討論,加強學(xué)生組內(nèi)團結(jié)、共同完成任務(wù)隨堂練習(xí)使用老師提供代碼,創(chuàng)建判斷閏年GUI程序,調(diào)試運行,理解其代碼結(jié)構(gòu)進一步鞏固學(xué)生對于tkinter模塊的學(xué)習(xí)和理解拓展練習(xí)在用戶登錄代碼基礎(chǔ)上,嘗試編寫溫度轉(zhuǎn)換G
評論
0/150
提交評論