資源簡介 (共19張PPT)Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.少兒編程課神奇的二維碼本節(jié)我們來制作一個(gè)二維碼生成器二維碼生成器下面我們開始二維碼生成器的制作1首先定義一個(gè)按鈕在畫板上from tkinter import *root = Tk()root.title('按鈕')root.geometry('300x100+300+200')# 定義按鈕btn = Button(root, text='點(diǎn)我')# 指定按鈕的位置btn.grid(row=0, column=0)root.mainloop()2運(yùn)行效果如下,按鈕默認(rèn)大小顯示在左上角此時(shí)點(diǎn)擊按鈕并沒有任何反應(yīng),想要有反應(yīng),就要告訴按鈕,點(diǎn)擊時(shí)做什么反應(yīng)1這個(gè)通過在定義按鈕時(shí)指定“command=callback”實(shí)現(xiàn)。from tkinter import *root = Tk()root.title('按鈕點(diǎn)擊效果')root.geometry('300x100+300+200')def callback():print('hello ')# 添加command=callback參數(shù)btn = Button(root, text='點(diǎn)我', command=callback)btn.grid(row=0, column=0)root.mainloop()2這里的callback是一個(gè)函數(shù)的名字,在定義按鈕時(shí)添加“command=callback”,就表示點(diǎn)擊按鈕時(shí)執(zhí)行callback函數(shù)。動手試試效果吧!接著我們加入輸入框和能顯示圖片的標(biāo)簽控件1首先定義一個(gè)按鈕在畫板上2這段程序定義了一個(gè)輸入框Entry,放在了第1行第1列的位置,然后定義了一個(gè)按鈕Button,放在了第1行第2列的位置,也即放在了輸入框的后面。然后定義了一個(gè)標(biāo)簽Label,放在了第2行第1列的位置,同時(shí)指定了一個(gè)“columnspan=2”的參數(shù),表示這個(gè)控件橫跨2列。運(yùn)行效果如下:from tkinter import *root = Tk()root.title('按鈕點(diǎn)擊效果')# 輸入框entry = Entry(root)entry.grid(row=0, column=0)def callback():print('hello')# 按鈕btn = Button(root, text='點(diǎn)我', command=callback)btn.grid(row=0, column=1)# 標(biāo)簽,用于顯示文字或圖片label = Label(root)label.grid(row=1, column=0, columnspan=2)root.mainloop()現(xiàn)在我們給這套界面加點(diǎn)功能:輸入框中輸入任意內(nèi)容,當(dāng)點(diǎn)擊按鈕時(shí),將輸入框中的內(nèi)容顯示在下面橫跨兩列的標(biāo)簽上。這需要三步來完成。1第一步,定義一個(gè)StringVar():第二步,在Label標(biāo)簽上加上“textvariable=text”參數(shù),將標(biāo)簽和StringVar通過textvariable參數(shù)關(guān)聯(lián):2text = StringVar()StringVar是tkinter內(nèi)部定義的字符串變量類型,在這里用于管理按鈕或標(biāo)簽上面的字符。改變StringVar,按鈕或標(biāo)簽上的文字也隨之改變。label = Label(root, textvariable=text)這里的text就是第一步中定義的text。最后,我們在按鈕的callback函數(shù)中改變StringVar的值,標(biāo)簽上的文字也就隨著改變3text.set(entry.get())4運(yùn)行,效果如下:這個(gè)把文字換成圖片,就是二維碼生成器了第三方庫的下載和安裝先來了解一下pip和第三方庫Python官方庫第三方庫我們的電腦下載安裝Python時(shí)安裝直接使用或引入后使用使用pip進(jìn)行下載、安裝安裝好后引入使用pip 是一個(gè)Python 包管理工具。提供了對 Python 包的查找、下載、安裝、卸載的功能。12第三方庫指非官方庫,也就是其他開發(fā)人員開發(fā)的功能,它的使用如下圖所示:對于pip,可以直接在cmd中使用1對于我們的程序而言,想要把一張圖片展示在標(biāo)簽上,就需要先安裝一個(gè)第三方的圖片處理庫,叫Pillow。使用pip下載并安裝Pillow只需要在cmd中輸入”pip install Pillow”就可以了安裝好之后我們來看看Pillow的使用,案例如下:from tkinter import *from PIL import Imagefrom PIL import ImageTkroot = Tk()root.title('標(biāo)簽上圖片的展示')img = Image.open('C:/Users/Administrator/Desktop/momeimei.jpg')img = ImageTk.PhotoImage(img)label = Label(root, text="", image=img, width=500, height=500)label.grid(row=0, column=0)root.mainloop()這里的第2、3行代碼就表示從Pillow庫中引入Image和ImageTk。第8、9兩行代碼就是使用Image和ImageTkinter來操作圖片,最終得到的img就表示桌面上的momeimei.jpg,這是墨妹妹的一張照片。然后給標(biāo)簽設(shè)置”image=img”參數(shù),表示將得到的img圖片和標(biāo)簽綁定到了一起。運(yùn)行結(jié)果如下所示:qrcode庫的下載、安裝和使用練習(xí)Exercises密封線內(nèi)不準(zhǔn)答題現(xiàn)在已知二維碼庫的名稱叫qrcode,請使用pip完成qrcode庫的下載和安裝下載qrcode庫,依然是使用pip工具12下載、安裝過程如下:安裝成功之后就可以來使用了import qrcode# 將hello world生成二維碼img2 = qrcode.make('hello, world')# 將二維碼圖片保存到D盤下的qrcode文件夾下,命名為hello.pngimg2.save('D:\\qrcode\\hello.png')3程序運(yùn)行就在相應(yīng)文件夾下生成了二維碼把上面的知識綜合,我們就能得到二維碼生成器了:from tkinter import *from PIL import Imagefrom PIL import ImageTkimport qrcoderoot = Tk()root.title('二維碼生成器')entry = Entry(root, width=60)entry.grid(row=0, column=0)def callback():# 獲取輸入的內(nèi)容text_input = entry.get()# 將輸入的內(nèi)容生成二維碼img_new = qrcode.make(text_input)# 保存生成的二維碼圖片img_new.save('D:\\qrcode\\' + text_input + '.png')# 處理成標(biāo)簽?zāi)苁褂玫念愋?br/>img_new = Image.open('D:\\qrcode\\' + text_input + '.png')img_new = ImageTk.PhotoImage(img_new)# 這兩步是關(guān)鍵label.configure(image=img_new)label.image = img_newbtn = Button(root, text='點(diǎn)我', command=callback)btn.grid(row=0, column=1)img = qrcode.make('hello, qrcode')img.save('D:\\qrcode\\hello.png')img = Image.open('D:\\qrcode\\hello.png')img = ImageTk.PhotoImage(img)label = Label(root, text="", image=img, width=500, height=500)label.grid(row=1, column=0, columnspan=2)root.mainloop()總結(jié)Summarytkinter中按鈕、輸入框、標(biāo)簽等控件的使用√第三方庫Pillow和qrcode的安裝和使用√Thanks! 展開更多...... 收起↑ 資源預(yù)覽 縮略圖、資源來源于二一教育資源庫