中文字幕精品无码一区二区,成全视频在线播放观看方法,大伊人青草狠狠久久,亚洲一区影音先锋色资源

小學(xué)課后服務(wù) Python少兒編程 進(jìn)階篇:1-神奇的二維碼 課件 (19張PPT)

資源下載
  1. 二一教育資源

小學(xué)課后服務(wù) Python少兒編程 進(jìn)階篇:1-神奇的二維碼 課件 (19張PPT)

資源簡介

(共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):
2
text = StringVar()
StringVar是tkinter內(nèi)部定義的字符串
變量類型,在這里用于管理按鈕或標(biāo)
簽上面的字符。改變StringVar,按鈕
或標(biāo)簽上的文字也隨之改變。
label = Label(root, textvariable=text)
這里的text就是第一步中定義的text。
最后,我們在按鈕的callback函數(shù)中改變
StringVar的值,標(biāo)簽上的文字也就隨著改變
3
text.set(entry.get())
4
運(yùn)行,效果如下:
這個(gè)把文字換成圖片,就是二維碼生成器了
第三方庫的下載和安裝
先來了解一下pip和第三方庫
Python官方庫
第三方庫
我們的電腦
下載安裝Python時(shí)安裝
直接使用或引入后使用
使用pip進(jìn)行下載、安裝
安裝好后引入使用
pip 是一個(gè)Python 包管理工具。提供了對 Python 包的查找、下載、安裝、卸載的功能。
1
2
第三方庫指非官方庫,也就是其他開發(fā)人員開發(fā)的功能,它的使用如下圖所示:
對于pip,可以直接在cmd中使用
1
對于我們的程序而言,想要把一張圖片展示在標(biāo)簽上,就需要先安裝一個(gè)第三方的圖片處理庫,叫Pillow。
使用pip下載并安裝Pillow只需要在cmd中輸入”pip install Pillow”就可以了
安裝好之后我們來看看Pillow的使用,案例如下:
from tkinter import *
from PIL import Image
from PIL import ImageTk
root = 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工具
1
2
下載、安裝過程如下:
安裝成功之后就可以來使用了
import qrcode
# 將hello world生成二維碼
img2 = qrcode.make('hello, world')
# 將二維碼圖片保存到D盤下的qrcode文件夾下,命名為hello.png
img2.save('D:\\qrcode\\hello.png')
3
程序運(yùn)行就在相應(yīng)文件夾下生成了二維碼
把上面的知識綜合,我們就能得到二維碼生成器了:
from tkinter import *
from PIL import Image
from PIL import ImageTk
import qrcode
root = 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_new
btn = 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é)
Summary
tkinter中按鈕、輸入框、標(biāo)簽等控件的使用

第三方庫Pillow和qrcode的安裝和使用

Thanks!

展開更多......

收起↑

資源預(yù)覽

<pre id="tfb94"><li id="tfb94"></li></pre>

<bdo id="tfb94"><rt id="tfb94"></rt></bdo>
  • <menu id="tfb94"><dl id="tfb94"></dl></menu><i id="tfb94"><acronym id="tfb94"><sub id="tfb94"></sub></acronym></i>

    1. 主站蜘蛛池模板: 若尔盖县| 泸溪县| 磐安县| 邯郸县| 呈贡县| 大石桥市| 通山县| 行唐县| 蚌埠市| 绥宁县| 武陟县| 石嘴山市| 祁阳县| 丹阳市| 富蕴县| 兴宁市| 沭阳县| 观塘区| 龙岩市| 昭苏县| 绥棱县| 望城县| 洛隆县| 鸡泽县| 大洼县| 漳州市| 阜阳市| 惠安县| 乐安县| 巴东县| 郯城县| 武平县| 吉安县| 南宫市| 广西| 莒南县| 景泰县| 成武县| 冷水江市| 内江市| 岚皋县|