资源简介 (共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.少儿编程课神奇的二维码本节我们来制作一个二维码生成器二维码生成器下面我们开始二维码生成器的制作1首先定义一个按钮在画板上from tkinter import *root = Tk()root.title('按钮')root.geometry('300x100+300+200')# 定义按钮btn = Button(root, text='点我')# 指定按钮的位置btn.grid(row=0, column=0)root.mainloop()2运行效果如下,按钮默认大小显示在左上角此时点击按钮并没有任何反应,想要有反应,就要告诉按钮,点击时做什么反应1这个通过在定义按钮时指定“command=callback”实现。from tkinter import *root = Tk()root.title('按钮点击效果')root.geometry('300x100+300+200')def callback():print('hello ')# 添加command=callback参数btn = Button(root, text='点我', command=callback)btn.grid(row=0, column=0)root.mainloop()2这里的callback是一个函数的名字,在定义按钮时添加“command=callback”,就表示点击按钮时执行callback函数。动手试试效果吧!接着我们加入输入框和能显示图片的标签控件1首先定义一个按钮在画板上2这段程序定义了一个输入框Entry,放在了第1行第1列的位置,然后定义了一个按钮Button,放在了第1行第2列的位置,也即放在了输入框的后面。然后定义了一个标签Label,放在了第2行第1列的位置,同时指定了一个“columnspan=2”的参数,表示这个控件横跨2列。运行效果如下:from tkinter import *root = Tk()root.title('按钮点击效果')# 输入框entry = Entry(root)entry.grid(row=0, column=0)def callback():print('hello')# 按钮btn = Button(root, text='点我', command=callback)btn.grid(row=0, column=1)# 标签,用于显示文字或图片label = Label(root)label.grid(row=1, column=0, columnspan=2)root.mainloop()现在我们给这套界面加点功能:输入框中输入任意内容,当点击按钮时,将输入框中的内容显示在下面横跨两列的标签上。这需要三步来完成。1第一步,定义一个StringVar():第二步,在Label标签上加上“textvariable=text”参数,将标签和StringVar通过textvariable参数关联:2text = StringVar()StringVar是tkinter内部定义的字符串变量类型,在这里用于管理按钮或标签上面的字符。改变StringVar,按钮或标签上的文字也随之改变。label = Label(root, textvariable=text)这里的text就是第一步中定义的text。最后,我们在按钮的callback函数中改变StringVar的值,标签上的文字也就随着改变3text.set(entry.get())4运行,效果如下:这个把文字换成图片,就是二维码生成器了第三方库的下载和安装先来了解一下pip和第三方库Python官方库第三方库我们的电脑下载安装Python时安装直接使用或引入后使用使用pip进行下载、安装安装好后引入使用pip 是一个Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。12第三方库指非官方库,也就是其他开发人员开发的功能,它的使用如下图所示:对于pip,可以直接在cmd中使用1对于我们的程序而言,想要把一张图片展示在标签上,就需要先安装一个第三方的图片处理库,叫Pillow。使用pip下载并安装Pillow只需要在cmd中输入”pip install Pillow”就可以了安装好之后我们来看看Pillow的使用,案例如下:from tkinter import *from PIL import Imagefrom PIL import ImageTkroot = Tk()root.title('标签上图片的展示')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,这是墨妹妹的一张照片。然后给标签设置”image=img”参数,表示将得到的img图片和标签绑定到了一起。运行结果如下所示:qrcode库的下载、安装和使用练习Exercises密封线内不准答题现在已知二维码库的名称叫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程序运行就在相应文件夹下生成了二维码把上面的知识综合,我们就能得到二维码生成器了: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():# 获取输入的内容text_input = entry.get()# 将输入的内容生成二维码img_new = qrcode.make(text_input)# 保存生成的二维码图片img_new.save('D:\\qrcode\\' + text_input + '.png')# 处理成标签能使用的类型img_new = Image.open('D:\\qrcode\\' + text_input + '.png')img_new = ImageTk.PhotoImage(img_new)# 这两步是关键label.configure(image=img_new)label.image = img_newbtn = Button(root, text='点我', 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()总结Summarytkinter中按钮、输入框、标签等控件的使用√第三方库Pillow和qrcode的安装和使用√Thanks! 展开更多...... 收起↑ 资源预览