用python给男朋友写的小程序

博主在七夕为男友制作了一个Python GUI程序,使用tkinter模块。文章详细记录了从界面设计到打包发布的全过程,包括遇到的问题及解决方案,如pyinstaller打包、mac系统下py2app的尝试。最终因系统兼容性问题,选择了购买Windows笔记本作为礼物。

七夕的时候给男朋友写了个小程序,把他感动哭了,把我可累惨了。

可乐我也不是程序媛专门敲代码的,虽然也学过,但也仅局限于用pandas处理一下数据的程度,要写一个界面并且能让对方直接打开,有点超纲。

但是经过5天的不懈努力,终于也算写出来了,就长下面这个样子,其实就是Python里用tkinter模块做的一个GUI图形界面。(文末有原码获取方式)

这其实是一个悲伤的故事,请看到最后。

tkinter做的GUI图形界面

登陆界面,输入账号密码点击照片登陆。

登陆界面

登陆界面


密码输入错误则出现以下弹窗:

 


试图关闭界面,则出现以下弹窗:
image.png

image.png


输入密码登陆以后开始答题,请忽视这个丑丑的背景色。

 


答题界面开始,总共设置了5个问题,答错都会出现错误提示弹窗,关闭界面也会出现禁止关闭的弹窗。

 


答完所有的题目来到倒数第二页,放上你想说的话。

 


点击【想看最后一页是什么】的按钮来到最后一页

 

最后一页就是个爱我吗的界面,有3个按钮可以选择。

 

选择【爱】和【很爱】会弹出一样的界面,不会关机啦,是个迷惑行为,点击【关机】按钮整个对话框就全部关闭了,时间紧迫,还没研究出怎么真的关机。

 

实际上就想让他点【超级爱】这个按钮,点了以后是如下界面,点击【好棒,我还要再来亿遍】也是个迷惑按钮,不会真的从头开始的,禁止套娃!点击以后同样对话框全部关闭。

 

如何写程序

我是在jupyter notebook里写的,用tkinter包,这个包的用法也很简单,对着视频或者其他参考教程慢慢也就搞定了,当然,我是小白啦,之前也没有接触过面向对象的概念,写个这个程序也把python语法又重新捋了一遍,尤其是class的概念,终于把程序啃下来以后,我发现,

### 如何用Python一个表白小程序 #### 使用Tkinter创建图形化表白窗口 为了使表白更加生动有趣,可以使用`Tkinter`库来构建一个简单的图形用户界面(GUI)。通过这种方式,不仅可以显示文字信息,还能加入按钮和其他交互元素。 ```python import tkinter as tk from tkinter import messagebox class ConfessionApp: def __init__(self, master): self.master = master master.title("特别的告白") label = tk.Label(master, text="亲爱的,自从遇见你之后,我的世界变得如此美好。\n愿意让我陪你走完余生吗?", font=("Arial", 14)) label.pack(pady=20) yes_button = tk.Button(master, text="当然愿意!", command=self.on_yes_click, width=20, height=3) no_button = tk.Button(master, text="再考虑一下...", command=self.on_no_click, width=20, height=3) yes_button.pack(side=tk.LEFT, padx=(50, 20), pady=20) no_button.pack(side=tk.RIGHT, padx=(20, 50), pady=20) def on_yes_click(self): messagebox.showinfo(title='欧耶', message='爱你哦,么么哒~') root.quit() def on_no_click(self): messagebox.askretrycancel('哎呀...', '那再多给我一点时间吧!', icon='warning') if __name__ == "__main__": root = tk.Tk() app = ConfessionApp(root) root.mainloop() ``` 这段代码定义了一个名为`ConfessionApp`类,它继承自tkinter框架中的组件。当运行该程序时会弹出一个小窗口,在其中展示一段温馨的文字以及两个选项:“当然愿意!” 和 “再考虑一下...”。如果对方选择了肯定的回答,则会出现一条充满爱意的消息框;如果是后者,则提示再次思考并给予机会重新选择[^3]。 #### 利用微信机器人发送表白消息 除了本地的应用外,也可以借助第三方平台来进行远程表达心意。比如微信就是一个不错的选择。下面是一个基于WeChatBot API的例子: 请注意:实际操作前需安装itchat模块 (`pip install itchat`) 并确保手机端已登录web版微信以便接收验证码完成绑定过程。 ```python import itchat # 自动回复功能开启后每次收到的信息都会触发此函数执行 @itchat.msg_register(itchat.content.TEXT) def text_reply(msg): if msg['Text'] == "喜欢": return """ *脸红* 嘿嘿~其实我也一直对你有好感呢! 能成为彼此生命中最重要的人真是太好了。 让我们一起创造美好的回忆吧!❤️ """ # 登录微信账号 itchat.auto_login(hotReload=True) friends = itchat.get_friends(update=True)[1:] # 获取好友列表 (排除自己) target_friend = next((friend for friend in friends if friend["NickName"] == "Ta的名字"), None) if target_friend is not None: itchat.send_msg(""" Hi {nickname}, 不知道从什么时候起, 生活里总会有一个人的身影萦绕心头; 那就是你啊~ 愿意做我女朋友/男朋友嘛? """.format(nickname=target_friend['NickName']), toUserName=target_friend['UserName']) itchat.run() # 启动监听服务等待回应 ``` 上述脚本实现了自动向指定对象发送带有个人情感色彩的话语,并且能够处理来自对方简单关键词触发式的互动响应[^2]。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

进击的可乐!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值