用python的tkinter制作表白程序

我觉得起这个题目,会让我的这篇博客点击量超过其他所有,哈哈哈。
话不多说,开始

前言

事情的起因还要追溯到几个星期之前,有个同学说他要给女神写个程序,我就突然想到了以前在网上找到的一个表白小程序,现在我台式机里应该还有,就是那种按钮会跳的那种,恰巧这学期我们有python课,顺便巩固一下tkinter的界面编写知识,我就决定用python自己写一个(手动狗头)

思路

  1. 跳出窗口,问她:愿意做我女朋友吗?(…)
  2. 当然,得给人家两个选择,同意or不同意
  3. 这样她就得选,不过,怎么能让她选不同意呢。不同意的按钮会不停地跳;选同意的话会出来一张图片
  4. 这样你们就能一起过上幸福快乐的生活了(手动狗头)

代码实现

  1. 图形界面
    这个我用的python自带的tkinter,这个比较简单,当然还可以用Qt等其他的第三方库,不过我没下,大佬如果实现了可以告诉我一声
top=tk.Tk()
top.title('Love')
top.geometry('400x300')

word=tk.Label(top,text='可以做我女朋友吗?',font=('华文行楷','20'))
word.place(x=80,y=80)
Button1=tk.Button(top,text='我愿意!',command=wondful)
Button1.place(x=100,y=150)
place_of_tick=[(10,10),(180,40),(180,130),(30,200),(250,200),(270,230)]
word_of_tick=['不再考虑一下','好伤心','不要!','保大人','Love'] #这两个数组和按钮的位置改变有关,分别定义了按钮随机跳的位置和随机显示的文字
tick=tk.Button(top,text='滚',command=move,width='8')
tick.place(x=220,y=150)
top.mainloop()

记得导入库,还用到的是random库,用于生成随机值,让按钮随机跳
在这里插入图片描述

  1. 按钮跳动
    这个比较简单,在按下按钮时执行move函数,此时,随机重置按钮位置和文字即可,我用的是一种伪随机吧,位置是我提前试好的,为了不遮挡另一个按钮和文字,当然,你可以再加几个文字或位置
def move():
	tick.configure(text=word_of_tick[randint(0,len(word_of_tick)-1)])
	t=randint(0,len(place_of_tick)-1)
	x=place_of_tick[t][0]
	y=place_of_tick[t][1]
	tick.place(x=x,y=y)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 显示图片
    在点了“我愿意”按钮后,让她出现一张图片,这个有点麻烦,我找了好多资料才搞定这个,感谢网上分享经验的师傅大佬们。
    试了好多方法,本来想用tkinter的canvas的,不知道为什么,我的图片不显示,但是能在上面画个图形(???黑人问号),没办法,从网上看到有人用的Label,我也就用了这个,也不知道为什么要给image参数赋两次值,大佬如果会可以告诉我一声。
    这里还用到了PIL库,python27应该还是pillow库,好像处理图片都得和他扯上关系…
def wondful():
	a=Image.open('timg.jpg')
	im=ImageTk.PhotoImage(a)	
	ima=tk.Label(top,image=im)
	ima.image=im
	ima.pack()

我的变量命名有点随意了,请忽略这个(汗,英语不好)。
在这里插入图片描述

  1. 完成打包
    这也是python写这种程序的弊端,你得打包成exe才能到没装python的电脑上运行,相信你们的妹子也不太可能在电脑上装python吧,当然,找个学计算机的女朋友也挺好,不过这个种水平的还是不要给你学计算机的女朋友发了吧,她看了源码可能会嘲笑你水平低。。。
    再说打包,我用的是pyinstaller,命令,这里我直接挂一个博客,关于pyinstaller的,需要的自己去看看 https://blog.csdn.net/chenzhanhai/article/details/85334919
pyinstaller -F -w XX.py

(xx是文件名)
这样你就可以给妹子发了

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值