内容正文:
少儿编程课
1
王者荣耀英雄盒子
本节我们来制作一个王者荣耀英雄盒子
3
下面开始王者荣耀英雄盒子的制作
1
首先定义一个窗口,并设置窗口标题
2
运行效果如下
from tkinter import *
# 创建一个窗口
root = Tk()
# 限制窗口大小
root.maxsize(995, 1025)
root.minsize(995, 1025)
# 窗口标题
root.title('王者荣耀英雄选择器')
root.mainloop()
然后在窗口中添加控件
1
定义“全部”按钮,放到窗口中的第一行第一列
2
运行程序,结果如下:
from tkinter import *
# 创建一个窗口
root = Tk()
# 限制窗口大小
root.maxsize(995, 1025)
root.minsize(995, 1025)
# 窗口标题
root.title('王者荣耀英雄选择器')
# 全部
all = Button(root, text='全部')
all.grid(row=0, column=0, padx=30, pady=10)
root.mainloop()
练习
Exercises
密
封
线
内
不
准
答
题
将剩余的职业按钮编写出来,按钮从左向右依次排列
一起来看下如何做,定义及布局方式如下:
1
让按钮从左向右排列
2
运行效果如下:
# 坦克
is_tank = Button(root, text='坦克')
is_tank.grid(row=0, column=1, padx=30, pady=10)
# 战士
is_warrior = Button(root, text='战士')
is_warrior.grid(row=0, column=2, padx=30, pady=10)
# 刺客
is_assa = Button(root, text='刺客')
is_assa.grid(row=0, column=3, padx=30, pady=10)
# 法师
is_master = Button(root, text='法师')
is_master.grid(row=0, column=4, padx=30, pady=10)
# 射手
is_archer = Button(root, text='射手')
is_archer.grid(row=0, column=5, padx=30, pady=10)
# 辅助
is_sup = Button(root, text='辅助')
is_sup.grid(row=0, column=6, padx=30, pady=10)
注意:grid布局时行号和列号依次为(0,1)、(0,2)、(0,3)、(0,4)、(0,5)、(0,6)
接下来我们加入模糊查询相关的控件:
所谓“模糊查询”是指,当你想要查询某件事物时
不需要输入非常精确地信息,即使是输入这个事物
的一部分信息,也可以查询出来。
8
1
创建输入框和按钮并加入到窗口中
运行程序,看下效果
2
下面实现模糊查询的界面效果
# 创建输入框
entry = Entry(root)
entry.grid(row=0, column=7, padx=20)
# 确定按钮
commit = Button(root, text='确定')
commit.grid(row=0, column=8)
英雄信息显示
10
接下来,我们为按钮添加功能,让其能够在被点击之后,使窗口显示图片和英雄名
首先将已经准备好的英雄信息表,复制过来
1
2
hero_info_list = [
{'index_num': 1, 'name': '米莱狄', 'img_path': ".\\hero_img\\米莱狄.jpg", 'is_tank': 0, 'is_warrior': 0, 'is_assa': 0,
'is_master': 1, 'is_archer': 0, 'is_sup': 0},
{'index_num': 2, 'name': '狂铁', 'img_path': ".\\hero_img\\狂铁.jpg", 'is_tank': 0, 'is_warrior': 1, 'is_assa': 0,
.
.
.
{'index_num': 80, 'name': '廉颇', 'img_path': ".\\hero_img\\廉颇.jpg", 'is_tank': 1, 'is_warrior': 0,