資源簡介 (共33張PPT)GUI圖形設計(一)課前回顧1、創(chuàng)建動畫2、繪制火箭3、發(fā)射火箭canvas.move()函數(shù)會把任意畫好的對象移動到x、y坐標增加給定值的位置。使用三角形與矩形進行組合成一個火箭,添加文字,繪制火箭尾焰。對組成火箭圖形與文字綁定的ID進行控制,就可以來完成火箭整體的移動。情境引入在之前的課程中,為了對照學習海龜turtle模塊的畫圖功能,我們學習了tkinter的Canvas類。這些只是tkinter模塊功能的冰山一角,其實tkinter模塊的功能十分強大。循序善誘我們使用tkinter模塊可以快速的創(chuàng)建GUI應用程序。什么是GUI?GUI是圖形用戶界面(Graphical User Interface,簡稱 GUI),是指采用圖形方式顯示的計算機操作用戶界面。循序善誘在GUI設計中,tkinter模塊中提供各種各樣的工具類比如按鈕、標簽、文本框等,通常被稱為控件或者部件。各種控件都有可能在一個GUI應用程序中使用。下面讓我們來一一學習tkinter模塊內(nèi)的各個控件、部件。新知教授2、Entry與Text輸入1、Label與Button3、選擇按鈕4、課堂總結Label與Button新知教授每一個tkinter應用的主體框架都可以包含下面這部分:定義 window 窗口與 window的一些屬性,然后書寫窗口內(nèi)容,最后執(zhí)行window.mainloop讓窗口活起來。編玩邊學from tkinter import *window = Tk() # 創(chuàng)建tkinter窗口實例對象window.title('New Window') # 設置窗口標題window.geometry('800x600') # 設置窗口窗體大小window.mainloop() # 重復循環(huán)運行窗體程序運行程序會出現(xiàn)一個設置好的窗口。思維構建接下來我們會在窗口中建立一個用來描述的標簽 Label。編玩邊學biaoQian = Label(window, # 標簽顯示的窗口載體text='Hi! I am TK!', # 標簽的文字bg='blue', # 標簽背景顏色font=('Arial', 16), # 標簽字體和字體大小width=25, height=8 ) # 標簽長寬biaoQian.pack() # 固定標簽窗口位置思維構建我們也可以通過變量的形式控制標簽的內(nèi)容顯示,現(xiàn)在,我們引入按鈕Button的控件來讓這個程序更好玩。當我們每點擊一次按鈕,標簽內(nèi)容就會變化一次.編玩邊學showStr = StringVar() # 創(chuàng)建文字變量儲存器on_hit = False # 默認初始狀態(tài)為 Falsedef hit_me():global on_hit # 聲明on_hit為全局變量if on_hit == False:on_hit = True # 從 False 狀態(tài)變成 True 狀態(tài)showStr.set('You hit me ') # 設置標簽的文字else: # 從 True 狀態(tài)變成 False 狀態(tài)on_hit = FalseshowStr.set('') # 設置標簽文字為空我們需要把變化的文字存在變量 showStr中。編玩邊學"""創(chuàng)建標簽實例對象"""biaoQian = Label(window,textvariable=showStr, # 使用可變 textvariable 替換 textbg='cyan', font=('Arial', 16), width=25, height=8)biaoQian.pack()"""創(chuàng)建按鈕實例對象"""button = Button(window,text='click me!', # 顯示在按鈕上的文字width=15, height=2,command=hit_me) # 點擊按鈕式執(zhí)行的命令button.pack() # 按鈕位置運行程序,可以看到鼠標每點擊一次按鈕,文本框上顯示的內(nèi)容就會發(fā)生顯示、消失的改變。Entry與Text輸入新知教授現(xiàn)在是一個網(wǎng)絡快速發(fā)展的時代,我們經(jīng)常需要登錄個人信息后才能正常使用網(wǎng)絡工具。在我們登錄一些網(wǎng)絡賬號、密碼時,經(jīng)常能夠看到一個長長的方格用于記錄我們輸入的賬號名與密碼。下面我們將學習輸入框控件。思維構建Entry與Text都是tkinter用來接收字符串等輸入的控件。其中Entry控件允許用戶輸入一行文字,如果用戶輸入的文字長度長于Entry控件的寬度時,文字會向后滾動,如果你想要輸入多行文本,就需要使用Text控件。編玩邊學from tkinter import *window = Tk() # 創(chuàng)建tkinter窗口實例對象window.title('New Window') # 設置窗口標題window.geometry('800x600') # 設置窗口窗體大小設置主體窗口編玩邊學"""創(chuàng)建一個輸入框Entry"""shuRu = Entry(window)shuRu.pack()"""創(chuàng)建一個Text文本輸入框"""textShow = Text(window,height=2)textShow.pack()window.mainloop() # 循環(huán)運行窗體程序思維構建兩種輸入文本框我們已經(jīng)創(chuàng)建好了,下面我們來把按鈕也添加上,來模擬登錄界面。現(xiàn)在,將Text輸入框作為我們輸入的文本信息內(nèi)容顯示,來學習文本內(nèi)容添加的兩種方式。編玩邊學def insert_point():var = shuRu.get()textShow.insert('insert',var)def insert_end():var = shuRu.get()textShow.insert('end',var)創(chuàng)建嵌入添加的方法函數(shù)與創(chuàng)建末尾添加的方法函數(shù)編玩邊學b1 = Button(window,text="嵌入添加",width=15,height=2,command=insert_point)b1.pack()b2 = Button(window,text="末尾添加",command=insert_end)b2.pack()創(chuàng)建嵌入式的按鈕與創(chuàng)建末尾添加的按鈕選擇按鈕新知教授下面我們將學習如何使用tkinter模塊做一個選擇按鈕,說起選擇按鈕,就像考試試卷上的單選題目那樣。思維構建我們來通過程序來演示Radiobutton單選按鈕程序,將按鈕的選擇信息用Label顯示出來。編學邊玩from tkinter import *window = Tk()window.title('New Window')window.geometry('600x400')var1 = StringVar()var1.set(0)定義一個 var1 用來radiobutton的值和Label的值聯(lián)系在一起。編學邊玩showLabel = Label(window, bg='yellow',width=20, text='請給出你的選擇...')showLabel.pack()r_Button_A = Radiobutton(window, text='選項 A',variable=var1, value='A')r_Button_A.pack()window.mainloop()編學邊玩def show_selection():showLabel.config(text='你選擇了選項 ' + var1.get())創(chuàng)建選擇按鈕點擊事件綁定的方法函數(shù)編學邊玩r_Button_B = Radiobutton(window, text='選項 B',variable=var1, value='B',command=show_selection)r_Button_B.pack()r_Button_C = Radiobutton(window, text='選項 C',variable=var1, value='C',command=show_selection)r_Button_C.pack()完善程序,不斷豐富選擇按鈕選項,并為按鈕對象綁定監(jiān)聽函數(shù)。實踐創(chuàng)作完成本節(jié)課的程序,嘗試使用tkinter制作屬于自己的登錄界面與選擇界面。課堂總結1、Label與Button2、Entry與Text輸入3、選擇按鈕Label是用來描述的標簽,Button控件可以用于控制窗口顯示內(nèi)容 。Entry與Text都是tkinter用來接收字符串等輸入的控件。r_Button_A = Radiobutton(window, text='選項 A',variable=var1,value='A')分享交流同學們今天寫代碼有沒有遇到什么問題?演示今天打印的代碼同學們,要加油哦!下節(jié)課見啦 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫