抖音表白小程序
通过点击按钮触发方法实现只能通过点击其中一个按钮才能关闭小程序。若点击另一个按钮,该程序将一直不会退出,实现起来较为简单(此处需要注意,打开任务管理也可关闭该小程序!)
from tkinter import * #导入_all_列表中的所有方法
from tkinter import messagebox #messagebox不在_all_列表中,需要单独导入
#from PIL import Image
def closeWindow():
#print("1")
#还可以showerror,结果不同,此时提示信息为红色叉号,不够温柔
messagebox.showinfo(title="警告",message="不许关闭,略略略") #弹出警告型窗口,并在窗口中间显示不许关闭,略略略
return
#点击喜欢触发的方法
def Love():
#顶级窗口
love = Toplevel(window)
love.geometry("220x180+530+260") #设置窗口大小
love.title("好巧呦!")
label = Label(love,text = "好巧,我也是",font = ("微软雅黑",20))
label.pack()
#输入微信
#label2 = Label(love,text = "加个微信呗···" , font=("微软雅黑",20))
#label2.pack()
#entry = Entry(love,font=("微软雅黑",18))
#entry.pack()
# btn 不会冲突
btn = Button(love,text = "确定",width = 10,height = 2,command = closeallWindow)
btn.pack()
love.protocol("WM_DELETE_WINDOW", closelove)
#print("1")
def closelove(): #关闭该程序产生的窗口
return
#关闭所有窗口
def closeallWindow():
#destroy 销毁所有窗口
window.destroy()
#点击不喜欢触发的方法
def noLove():
no_love = Toplevel(window)
no_love.geometry("300x100+520+260")
no_love.title("再考虑考虑呗")
label = Label(no_love,text = "再考虑考虑呗!",font = ("微软雅黑",25))
label.pack()
#不写no_love方法直接关闭当前窗口
btn = Button(no_love, text="好的", width=10, height=2, command = no_love.destroy)
btn.pack()
no_love.protocol("WM_DELETE_WINDOW",closenolove)
#print("2")
def closenolove():
#messagebox.showinfo("再考虑一下呗!")
#return
noLove()
window = Tk()
#创建窗口标题
window.title("你喜欢我吗?")
#创建固定的窗口大小
window.geometry("360x400+450+130")
#选择窗口弹出的位置
#window.geometry("+450+130")
#window.protocol 用户关闭窗口触发的事件
window.protocol("WM_DELETE_WINDOW",closeWindow)
#标签对象
label =Label(window,text = "hey,小姐姐",font = ("微软雅黑",15),fg = "red")
#显示且定位,将上面的标签对象显示在窗口
label.grid() #此处 网格式布局 pack 包 place位置
label1 = Label(window,text = "你喜欢我吗?",font = ("微软雅黑",30),fg = "blue")
#sticky对齐方式 N S W E 分别对应上下左右
label1.grid(row = 1,column = 1,sticky = E)
#显示图片
photo = PhotoImage(file = "./py.png")
imageLable = Label(window,image = photo)
#网格式布局 想跨列显示 跨n列,columnspan后面写n
imageLable.grid(row = 2, columnspan = 2)
#按钮控件 command 为按钮触发的事件
btn = Button(window,text = "喜欢",width = 15,height = 2,command = Love)
btn.grid(row = 3, column = 0,sticky = W)
btn1 = Button(window,text = "不喜欢",width =15,height = 2,command = noLove)
btn1.grid(row = 3, column = 1,sticky = E)
#显示窗口,消息循环
window.mainloop()
1、打包程序
然后,我们可以对该程序进行打包,生成一个可执行文件love.exe,通过点击该文件,便可以执行该程序
打包首先需要cmd 然后pip install pyinstaller
安装完成之后,按住shift,右键点击程序所在文件夹,运行命令行窗口,(第一次打包速度较慢,之后将会很快),此处-w是为了去掉运行exe文件时后方的黑色窗口。
pyinstaller -F -w 文件名.py
2、然后修改exe文件的图标
此处需要使用ico格式的图片,可以找一张漂亮的图片,然后转换为ico格式。ICO在线转:http://www.ico8.net/index.php?action=make
在打包的时候加参数-i:
pyinstaller -F -w -i 图片名.ico 文件名.py