Python实现趣味表白小程序:Tkinter交互逻辑与打包指南
本文分享基于Python Tkinter库开发的表白小程序源码。内容涵盖窗口创建、按钮交互逻辑、弹窗提示及图片插入等核心功能,并详细讲解使用PyInstaller将脚本打包为独立可执行文件的步骤。代码包含防止关闭窗口的限制逻辑,适合Python初学者学习GUI编程与程序分发。
Python表白工具实现概述
本文提供了一套完整的Python表白工具实现方案,供开发者参考与学习。
具体实现逻辑如下:
核心代码逻辑与交互设计
# 打包操作
# 安装pyinstaller
# cmd输入 pip install pyinstaller
# shift+右击文件夹 点击在此处打开命令窗口
# pyinstaller -F -w love.py //打包程序
# 引用tkinter工具包
from tkinter import * #__all__=[a,b]
#from tkinter import messagebox
# 定义关闭窗口提示
def closeWindow():
messagebox.showinfo(title="警告",message ="滚回去,必须选一个")
return
# 定义喜欢按钮的提示
def Love():
love = Toplevel(window)
love.geometry("300x100+250+260")
love.title("我也喜欢你")
label = Label(love, text = "我也喜欢你!",font = ("微软雅黑",20))
label.pack()
btn = Button(love,text = "好呀",width = 10,height = 2,command=closeallwindow)
btn.pack()
love.protocol("WM_DELETE_WINDOW", closelove)
def closelove():
return
# 关闭所有窗口
def closeallwindow():
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()
btn = Button(no_love,text="好呀", width=10, height=2,command=no_love.destroy)
btn.pack()
no_love.protocol("WM_DELETE_WINDOW",closenolove)
# 窗口不能关
def closenolove():
#messagebox.showinfo("放弃吧回去重选- -")
#return
noLove()
# 创建窗口
window = Tk()
# 窗口标题
window.title("喜欢我吗?")
# 窗口大小
window.geometry("380x420+500+240")
# love.title("哈哈")
btn=Button(text="确定")
# 窗口位置
# window.geometry("+500+240")
window.protocol("WM_DELETE_WINDOW",closeWindow )
#标签控件
label = Label(window,text = "hey,小姐姐",font = ("微软雅黑",15),fg = "red")
label.grid(row = 0, column = 0 )
label = Label(window,text = "喜欢我吗?",font = ("微软雅黑",30))
label.grid(row = 1, column = 1,sticky = E)
# 插入图片
photo = PhotoImage(file = "./123.png")
imageLable = Label(window,image = photo)
imageLable.grid(row = 2,columnspan = 2)
# 喜欢按钮插件
btn = Button(window,text="喜欢",width=15,height=2,command=Love)
btn.grid(row=3,column=0,sticky= W)
# 不喜欢按钮插件
btn = Button(window,text="不喜欢" ,command=noLove)
btn.grid(row=3,column=1,sticky= E)
# 显示窗口 消息循环
window.mainloop()
程序运行效果展示
程序运行后的界面效果如下图所示:

以上内容为本文的全部分享,旨在为读者提供学习参考,欢迎持续关注以获取更多技术支持。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













