内容正文:
少儿编程课
1
神奇的二维码
本节我们来制作一个二维码生成器
3
二维码生成器
4
下面我们开始二维码生成器的制作
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参数关联:
2
text = StringVar()
StringVar是tkinter内部定义的字符串
变量类型,在这里用于管理按钮或标
签上面的字符。改变StringVar,按钮
或标签上的文字也随之改变。
label = Label(root, textvariable=text)
这里的text就是第一步中定义的text。
最后,我们在按钮的callback函数中改变
StringVar的值,标签上的文字也就随着改变
3
text.set(entry.get())
4
运行,效果如下:
这个把文字换成图片,就是二维码生成器了
第三方库的下载和安装
9
先来了解一下pip和第三方库
Python官方库
第三方库
我们的电脑
下载安装Python时安装
直接使用或引入后使用
使用pip进行下载、安装
安装好后引入使用
pip 是一个Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。
1
2
第三方库指非官方库,也就是其他开发人员开发的功能,它的使用如下图所示:
对于pip,可以直接在cmd中使用
1
对于我们的程序而言,想要把一张图片展示在标签上,就需要先安装一个第三方的图片处理库,叫Pillow。
使用pip下载并安装Pillow只需要在cmd中输入”pip install Pillow”就可以了
安装好之后我们来看看Pillow的使用,案例如下:
from tkinter import *
from PIL import Image
from PIL import ImageTk
root = Tk()