資源簡介 (共26張PPT)Tkinter繪圖課前回顧1、零除異常2、異常捕捉3、else代碼塊運行數(shù)字除以0后,python會拋出ZeroDivisionError異常在Python中,異常是使用try-except代碼塊處理的。使用try-except代碼塊處理異常時,不會發(fā)生異常的代碼都應(yīng)放到else代碼塊中。情境引入用海龜畫圖的問題是海龜……太……慢……了。就算海龜以它最快的速度跑也還是太慢。對海龜來講這不是個問題,但是對于計算機(jī)繪圖來講就是個問題了。計算機(jī)繪圖,尤其是在游戲里,通常都要求能快速移動。情境引入用海龜畫圖的問題是海龜……太……慢……了。就算海龜以它最快的速度跑也還是太慢。對海龜來講這不是個問題,但是對于計算機(jī)繪圖來講就是個問題了。計算機(jī)繪圖,尤其是在游戲里,通常都要求能快速移動。循序善誘Python提供了多種制作圖形的方法。除了turtle模塊,還有Python標(biāo)準(zhǔn)安裝程序中自帶的tkinter模塊。tkinter可以用來創(chuàng)建完整的應(yīng)用程序,比如簡單的字處理軟件,還有簡單的繪圖軟件。在這節(jié)課里,我們會看看如何用tkinter來創(chuàng)作圖形。新知教授2、繪制圖形1、創(chuàng)建按鈕3、設(shè)置顏色4、課堂總結(jié)創(chuàng)建按鈕新知教授作為我們的第一個例子, 我們要用tkinter 創(chuàng)建一個帶按鈕的簡單程序。編玩邊學(xué)from tkinter import *def printStr():print('hello world!')windows1 = Tk()button1 = Button(windows1, text='點擊我', command=printStr)button1.pack() # 顯示按鈕windows1.mainloop() # 循環(huán)顯示消息在當(dāng)你點擊生成的按鈕時,你會看到在命令提示窗口程序中寫著“hello world!”。每次你點擊按鈕都會看到它。思維構(gòu)建我們創(chuàng)建了一個變量 windows1 = Tk(),這和我們創(chuàng)建turtle里的Pen()一樣。相對于海龜畫圖的畫筆對象,windows1你可以理解是一個基本的窗口容器對象,我們可以在這個窗口容器里面增加其他東西,例如按鈕、輸入框,或者用來畫圖的畫布。思維構(gòu)建我們創(chuàng)建了一個按鈕,代碼是button1 = Button(參數(shù)信息),Button函數(shù)的參數(shù)信息是一個windows1對象作為第一個參數(shù),然后是“點擊我”作為按鈕上面顯示的文字,也就是(windows1, text=”點擊我”)。繪制圖形思維構(gòu)建按鈕是個不錯的工具,但是對于在屏幕上繪畫東西來講就沒什么用處了。如果要畫圖的話,我們就需要一個畫布對象,畫布對象可以用Canvas類(畫布)創(chuàng)建產(chǎn)生。編玩邊學(xué)from tkinter import *object1 = Tk()canvas = Canvas(object1, width=800, height=500) # 畫布大小canvas.pack()object1.mainloop()創(chuàng)建畫布,設(shè)置畫布大小思維構(gòu)建接下來要在畫布上畫線,就要用像素坐標(biāo)。在一個tkinter 畫布上,坐標(biāo)決定了像素橫向(從左到右)的距離,以及縱向(從上到下)的距離。編玩邊學(xué)from tkinter import *object1 = Tk()canvas = Canvas(object1, width=800, height=500)canvas.pack()canvas.create_line(0, 0, 800, 500)object1.mainloop()create_line()函數(shù)有的四個參數(shù),分別對應(yīng)兩個坐標(biāo)點的橫、縱坐標(biāo)。思維構(gòu)建用turtle模塊,我們畫矩形是可以通過向前、轉(zhuǎn)彎、再向前、再轉(zhuǎn)彎……,再通過改變向前移動的距離來畫出一個長方形或正方形。畫正方形和長方形對于tkinter模塊來說就簡單多了。你只需要知道各個角的坐標(biāo),就可以完成對它們的繪制編玩邊學(xué)from tkinter import *object1 = Tk()canvas = Canvas(object1, width=600, height=500)canvas.pack()canvas.create_rectangle(30, 30, 150, 150)object1.mainloop()canvas.create.rectangle()的參數(shù)就是正方形的左上角和右下角的坐標(biāo)。這些坐標(biāo)是參照畫布左邊和頂邊的距離。設(shè)置顏色新知教授如果要定制一個和有命名的顏色不完全一樣、更加精確的顏色怎么辦?還記得在前面課程中的知識嗎?我們用紅、綠、藍(lán)三種基本的顏色的16進(jìn)制,來設(shè)置海龜筆的顏色嗎?在tkinter里面,我們同樣可以使用16進(jìn)制RGB三基色來調(diào)制顏色進(jìn)行彩色繪制。編學(xué)邊玩from tkinter import *from tkinter import colorchooserdef colorChoose():colorTuple = colorchooser.askcolor()print('選到的RGB顏色為:', colorTuple[0])print('16進(jìn)制顏色為:', colorTuple[1])windows1 = Tk()button1 = Button(windows1, text='選色', command=colorChoose)button1.pack()windows1.mainloop()結(jié)合按鈕,制作一個選色器思維構(gòu)建colorchooser.askcolor()函數(shù)的返回值是個元組(tuple),可以看到元組的第一項元素是RGB顏色值,元組的第二項元素值是16進(jìn)制表示顏色值。實踐創(chuàng)作完成本節(jié)課的程序,嘗試使用tkinter繪圖來重繪海龜畫圖的作品課堂總結(jié)1、創(chuàng)建按鈕2、繪制圖形3、設(shè)置顏色button1 = Button(windows1, text='點擊我', command=printStr)canvas = Canvas(object1, width=600, height=500)canvas.create_rectangle(30, 30, 150, 150)colorTuple = colorchooser.askcolor()分享交流同學(xué)們今天寫代碼有沒有遇到什么問題?演示今天打印的代碼同學(xué)們,要加油哦!下節(jié)課見啦 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫