用python的tkinter包设计一个随机点菜器
朋友来家里吃饭,但是不知道做什么菜,正好看到《台北人》里尹雪艳自制的旋转餐牌,可以随机选出当天菜肴,感觉很有意思,于是想着用python做一个随机点菜的小程序。既然不知道点什么,那就只好交给天意了哈哈哈。看到tkinter包可以设计GUI界面,于是开始自学tkinter,初学者水平做了一个简陋的小工具给朋友增添点乐趣。代码里面插入的一些图片可以去我的github里下载,打包出来的exe也放到了re
·
朋友来家里吃饭,但是不知道做什么菜,正好看到《台北人》里尹雪艳自制的旋转餐牌,可以随机选出当天菜肴,感觉很有意思,于是想着用python做一个随机点菜的小程序。既然不知道点什么,那就只好交给天意了哈哈哈。看到tkinter包可以设计GUI界面 ,于是开始自学tkinter,初学者水平做了一个简陋的小工具给朋友增添点乐趣。
代码如下:
import tkinter as tk
import random
from PIL import Image, ImageTk,ImageSequence
from threading import Timer
import time
meat = ['千张炒牛百叶', '大盘鸡拌面', '秘制鸡煲', '酱爆腰果鸡丁', '毛豆炒肉', '卤牛展','烤羊排','红烧牛肋条','卤猪蹄','绝味卤菜','麻辣香锅']
vegetable=['干锅包菜','蛋炒饭','番茄炒蛋','糖拌番茄','凉拌黄瓜','莲藕菠菜','肉末茄子','炒豆干','西兰花炒虾仁','醋溜土豆丝','烤红薯','腊肉炒花菜']
soup=['鸭汤','猪骨汤','鸡汤','芝麻糊','核桃糊']
window=tk.Tk()
window.title("老范私房菜:点菜盲盒")
#窗口大小
window.geometry("900x700")
l1=tk.Label(window, text="欢迎来到老范私房菜馆,请体验点菜盲盒",bg="#EAF6F6",fg="black",font=("STHeiti 26 bold"),width=36,height=3)
l1.pack()
#荤菜选择窗口
l2=tk.Label(window, text="请输入荤菜数量(1/2/3)其他数字会有惊喜哦:",bg="#E8A0BF",fg="black",font=("STHeiti 20 bold"),
width=45,height=1)
l2.pack()
e1=tk.Entry(window,show=None,font=("Arial",20))
e1.pack()
#程序在框中输出所选菜品
var1=tk.StringVar()
l3=tk.Label(window,textvariable=var1,bg="#C4DFAA",fg="black",font=("STHeiti 22"),width=65,height=1)
l3.pack()
def rou():
choice1=int(e1.get())
if choice1 == 1:
m1=random.sample(meat,1)
var1.set(f"你选择的菜品为:{m1}")
elif choice1 ==2:
m2=random.sample(meat,2)
var1.set(f"你选择的菜品为:{m2}")
elif choice1 == 3:
m3=random.sample(meat,3)
var1.set(f"你选择的菜品为:{m3}")
else:
var1.set("不要太贪心哦!")
img=Image.open('C:\\Users\\user\\Desktop\\blindmenugui\\noeat.png').resize((200, 128))
global photo1
photo1=ImageTk.PhotoImage(img)
lab1=tk.Label(window,width=200,height=150,image=photo1)
lab1.place(x=600,y=150)
def disappear():
lab1.place_forget()
t=Timer(3.0,disappear)
t.start()
#设置一个按钮
b1=tk.Button(width=10,height=1,text="开始选荤菜吧",command=rou)
b1.pack()
#素菜选择窗口
l4=tk.Label(window, text="请输入素菜数量(1/2/3)其他数字会有惊喜哦:",bg="#3AB0FF",fg="black",font=("STHeiti 20 bold"),
width=45,height=1)
l4.pack()
e2=tk.Entry(window,show=None,font=("Arial",20))
e2.pack()
var2=tk.StringVar()
l5=tk.Label(window,textvariable=var2,bg="#FFFFDE",fg="black",font=("STHeiti 22"),width=65,height=1)
l5.pack()
def cai():
choice2=int(e2.get())
if choice2 == 1:
c1=random.sample(vegetable,1)
var2.set(f"你选择的菜品为:{c1}")
elif choice2 ==2:
c2=random.sample(vegetable,2)
var2.set(f"你选择的菜品为:{c2}")
elif choice2 == 3:
c3=random.sample(vegetable,3)
var2.set(f"你选择的菜品为:{c3}")
else:
var2.set("不要太贪心哦!")
img2=Image.open('C:\\Users\\user\\Desktop\\blindmenugui\\noway.png').resize((200, 128))
global photo2
photo2=ImageTk.PhotoImage(img2)
lab2=tk.Label(window,width=200,height=150,image=photo2)
lab2.place(x=600,y=250)
def disappear():
lab2.place_forget()
t=Timer(3.0,disappear)
t.start()
b2=tk.Button(width=10,height=1,text="开始选素菜吧",command=cai)
b2.pack()
#汤
l6=tk.Label(window,text="要喝汤吗?", bg="#D6D5A8",fg="black",font=("Arial 20 bold"),
width=45,height=1)
l6.pack()
var3=tk.StringVar()
l7=tk.Label(window,textvariable=var3,bg="#D0C9C0",fg="black",font=("STHeiti 24"),width=45,height=1)
l7.pack()
def tangyes():
return var3.set(f"你选择的汤为{random.sample(soup,1)}")
def tangno():
img3=Image.open('C:\\Users\\user\\Desktop\\blindmenugui\\dd2.gif')
iter = ImageSequence.Iterator(img3)
for frame in iter:
global pic
pic=ImageTk.PhotoImage(frame)
lab3=tk.Label(window,width=200,height=150,image=pic)
lab3.place(x=350,y=550)
time.sleep(0.1)
window.update_idletasks() #刷新
window.update()
def disappear():
lab3.place_forget()
t=Timer(3.0,disappear)
t.start()
#global photo3
#photo3=ImageTk.PhotoImage(img3)
# lab3=tk.Label(window,width=200,height=150,image=photo3)
# lab3.place(x=600,y=250)
return var3.set("明白了!")
b3=tk.Button(window,width=10,height=1,text="YES",command=tangyes)
b4=tk.Button(window,width=10,height=1,text="NO",command=tangno)
b3.place(x=300,y=500)
#b3.pack()
b4.place(x=500,y=500)
#b4.pack()
window.mainloop()
input("please input any key to exit")
代码里面插入的一些图片可以去我的github里下载,打包出来的exe也放到了release里了。
具体展示呈现也做了一个小视频
程序展示呈现
更多推荐
已为社区贡献1条内容
所有评论(0)