作为万能的python来说,如果不在今天搞点事情,恐怕就白学了,在知乎上看到过一篇文章就是用python来实现一个表白程序。看完之后,小编就惊呆了,原来用python可以这么简单的实现这个程序。

但网上的代码功能过于简单,小编在看完别人的代码逻辑之后,通过查看相关库的API,自己写了一个表白程序。话不多说,直接上效果图:

这里,要向大家说明一下本次所用的python的Tkinter库。Tkiniter库是Python标准的GUI(图形用户界面)库。使用Tkinter可以非常快速的创建一个GUI应用程序。大白也是用这个Tkinter库实现的表白小程序。由于是Python的一个标准库,安装起来也是非常的简单。

pip install tkinter

安装好Tkinter库之后就可以开始“表白之旅”了。

一开始当然是先要引入刚安装好的Tkinter库。引入方式很简单。

from tkinter import *

from tkinter import messagebox

引入之后就可以开始写代码了。首先使用Tkinter库需要先创建一个窗口对象,并且设置好窗口的尺寸大小以及位置。

#创建一个窗口对象

window = Tk()

#设置文本标题

window.title('数据大白')

#设置窗口大小

window.geometry('540x300')

# 窗口位置

window.geometry('+500+240')

在Tkinter中,使用Label组件来显示标签显示相同样式的一行或多行文本,或位图或图像。使用Button组件来创建选项按钮。在大白的表白程序中,所有的文本内容就是通过label组件设置的。Label组件和Button组件的第一个参数必须传入根窗口的对象。后面的参数就可以根据组件的API自己选择了。

标签文本设置:

#标签设置

label=Label(window,text='美美哒的小姐姐:\n\n 我已经注意你很久了...\n 你的辣条是我送的...\n' +' 你的零食也是我买的...\n 做我女朋友好不好?',

font=('华文楷体',15),justify=LEFT)

label.grid(row=2,column=0,columnspan=1)

#插入图片

photo=PhotoImage(file=r'C:\Users\asua\Desktop\python\01.gif')

imagelabel=Label(window,image=photo,justify=RIGHT)

# 设置网格线

imagelabel.grid(row=2,column=2,sticky=E)

选项按钮设置

#底部按钮

#同意按钮

# activebackground当鼠标点击按钮产生的背景颜色

aggreebtn=Button(window,activebackground='#FF8C69',font=('华文行楷',15),text='我也喜欢你',

justify=LEFT,width=10,height=2,command=GirlLove)

aggreebtn.grid(row=4,column=0,sticky=SW)

#考虑按钮

oaggreebtn=Button(window,activebackground='#FF83FA',font=('华文行楷',15),text='考虑一下',

justify=CENTER,width=10,height=2,command=girlthink)

oaggreebtn.grid(row=4,column=1,rowspan=1,sticky=S)

#拒绝按钮

reaggreebtn=Button(window,activebackground='#FFC1C1',font=('华文行楷',15),text='别来烦我',

justify=RIGHT,width=10,height=2,command=girlbother)

reaggreebtn.grid(row=4,column=2,sticky=SE)

通过上面的代码就创建好了根窗口,表白程序差不多完成一半了。是的,真的就是这么简单。这或许就是python的神奇优雅之处吧。接着需要做的就是根据用户点击不同按钮触发的事件来定义几个方法函数进行处理就可以了。这里需要提醒一下,使用Button的command属性就可以直接调用方法函数了。由于代码过长(其实很多逻辑都是一样的),这里是展示部分代码:

如果小姐姐点击同意按钮:

#如果小姐姐同意

# pack——几何管理器,将子控件打包到父组件中,并优化布局

def GirlLove():

global n

n+=1

#创建顶级窗口,包含在window中

girllove=Toplevel(window)

girllove.title('嘻嘻,我就知道你会同意的')

#设置窗口大小 girllove.geometry('250x120')

# 窗口位置 girllove.geometry('+400+240')

if n==1:

#设置标签

lovelabel1=Label(girllove,text='嘿嘿,喜欢了你这么久。\n终于要和你在一起了。\n真开心', font=('华文行楷',15),justify=CENTER,padx=10) lovelabel1.pack()

#新建一个按钮,用于关闭窗口

closebtn1=Button(girllove,text='确定',command=girllove.destroy,width=10,height=2)

closebtn1.pack()

girllove.protocol('WM_DELETE_WINDOW', closeLove)

如果小姐姐想要考虑一下:

#如果小姐姐考虑一下

def girlthink():

global n

n+=1

#创建顶级窗口,包含在window中

girlthink=Toplevel(window)

girlthink.title('嘻嘻,我就知道你会同意的')

#设置窗口大小

girlthink.geometry('250x100')

# 窗口位置 girlthink.geometry('+250+240')

#设置标签

if n==1:

thinklabel=Label(girlthink,text='车买过了',font=('华文行楷',15),justify=CENTER) thinklabel.pack() thinkbtn=Button(girlthink,text='知道了',width=10,height=2,command=girlthink.destroy) thinkbtn.pack() girlthink.protocol('WM_DELETE_WINDOW', girlthink4)

if n==2:

thinklabel=Label(girlthink,text='房子也买了',font=('华文行楷',15),justify=CENTER) thinklabel.pack() thinkbtn=Button(girlthink,text='知道了',width=10,height=2,command=girlthink.destroy) thinkbtn.pack() girlthink.protocol('WM_DELETE_WINDOW', girlthink4)

if n==3:

thinklabel=Label(girlthink,text='工作卡给你',font=('华文行楷',15),justify=CENTER) thinklabel.pack() thinkbtn=Button(girlthink,text='知道了',width=10,height=2,command=girlthink.destroy) thinkbtn.pack() girlthink.protocol('WM_DELETE_WINDOW', girlthink4)

if n==4:

thinklabel=Label(girlthink,text='保大不保小',font=('华文行楷',15),justify=CENTER) thinklabel.pack() thinkbtn=Button(girlthink,text='知道了',width=10,height=2,command=girlthink.destroy) thinkbtn.pack() girlthink.protocol('WM_DELETE_WINDOW', girlthink4)

为了让程序完整,小编考虑到如果小姐姐在除了点击同意按钮之外的任何地方关闭窗口,就要阻止小姐姐关闭:

# 如果要关闭根窗口

def closeWindow():

messagebox.showinfo(message="再考虑考虑呗")

#如果小姐姐在考虑的前4个选项关闭窗口

def girlthink4(): messagebox.showinfo(message="小姐姐你看完嘛")

#如果小姐姐在考虑的后四个选项关闭窗口def girlthink8(): messagebox.showinfo(message="后面还有惊喜哦")

#关闭喜欢窗口

def closeLove(): messagebox.showinfo(message="答应我就可以关闭窗口哦")

这个表白程序的逻辑很简单。这里小编也给总结一下:首先调用Tk()类来创建一个根窗口,并使用Label组件来编辑文本内容和使用Button组件来实现按钮。然后根据用户点击不同的按钮来触发不同的事件操作(定义的方法函数)就可以实现一个很神奇的表白程序了。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

用python表白代码_使用Python制作表白小程序相关推荐

  1. python点名代码_基于python tkinter的点名小程序功能的实例代码

    基于python tkinter的点名小程序功能的实例代码,花名册,次数,窗口,未找到,初始化 基于python tkinter的点名小程序功能的实例代码 易采站长站,站长之家为您整理了基于pytho ...

  2. python编写代码_用 Python 编写干净、可测试、高质量的代码

    用 Python 编写干净.可测试.高质量的代码 Noah Gift 2010 年 12 月 20 日发布 简介 编写软件是人所承担的最复杂的任务之一.AWK 编程语言和 "K and R ...

  3. python房子代码_用python爬取租房网站信息的代码

    自己在刚学习python时写的,中途遇到很多问题,查了很多资料,下面就是我爬取租房信息的代码: 链家的房租网站 两个导入的包 1.requests 用来过去网页内容 2.BeautifulSoup i ...

  4. python三维重建代码_基于Python的三维重建开源代码

    [实例简介] 基于Python的三维重建开源代码,包括特征提取,SFM,PMVS以及CMVS等相关功能! [实例截图] [核心代码] sfm-bundler(python) └── sfm-bundl ...

  5. 小程序开发代码_企业为什么要选择小程序定制开发?

    随着小程序红利的爆发,越来越多的商家投身小程序的浪潮中,而现在微信小程序的制作方式有两种,一种是模板小程序开发,另一种是定制小程序开发.随着市场竞争激烈程度的升级和商家开发的个性需求,很多商家更多的是 ...

  6. python爱心代码_「含蓄优雅表白神器」程序员式用python代码画爱心(附详细教程)...

    还能用python代码画爱心?还有这种操作?这是什么原理? 不相信python代码可以画爱心?先来一张效果图来看看效果吧! 用python代码画爱心的思路是怎样的? 1.怎么画心形曲线 2.怎么填满心 ...

  7. python黑客代码_[翻译]Python开发中的密码散列(Hashing)

    [翻译]Python开发中的密码散列(Hashing) 杀戮 (乌云安全实验室的杂役) | 2015-01-04 23:17 去年7月的一篇小文,看着还不错,就翻译了,当然还是我自己的语气,对于文中的 ...

  8. python全球购代码_理解python的unicode字符串

    基于python2.7中的字符串: unicode-->编码encode('utf-8')-->写入文件 读出文件-->解码decode('utf-8')-->unicode ...

  9. python樱花代码_使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例

    今天为大家介绍几个Python"装逼"实例代码,python绘制樱花.玫瑰.圣诞树代码实例,主要使用了turtle库 Python绘制樱花代码实例 动态生成樱花 效果图(这个是动态 ...

  10. python浪漫代码_五行Python代码实现批量抠图

    你是否曾经想将某张照片中的人物抠出来,然后拼接到其他图片上去,从而可以即使你在天涯海角,我也可以到此一游?专业点的人使用 PhotoShop 的"魔棒"工具可以抠图,非专业人士可以 ...

最新文章

  1. Java 未死,依然很牛逼!
  2. SAP QM 将业务上的偏差管理集成进入SAP系统?
  3. Python入门学习笔记03(装饰器)
  4. 准备入门IC的全局观念系列-下
  5. 【mysq】远程访问权限(允许远程连接)
  6. python一步将npy数据保存成mat
  7. 十六进制除法运算法则_苏教版数学七年级上册 微课视频 2.6 有理数的乘法与除法(1)...
  8. python文件封装成jar_【Python】Python文件打包为可执行文件
  9. 日常踩坑:odule ‘tensorflow‘ has no attribute ‘placeholder‘解决方案
  10. JavaScript中的[]和{}
  11. 4.网络层(2)---子网划分
  12. 博弈论学习 | 第七章 Evolutionary Game Theory
  13. Word,标题2,2.1,编号,多级编号,样式-Word中二级标题实现2.1多级编号解决方法!!!
  14. 工作日报这样写 大老板也挑不出错
  15. HashMap为什么线程不安全?
  16. 【百战GAN】StyleGAN原理详解与人脸图像生成代码实战
  17. python计算活了多少天计算器_年龄计算器-实际岁数计算器-周岁计算器-虚岁计算器-生日天数计算-活了多少天计算-虚岁怎么算...
  18. 狗年已到,今天送3万元红包,本文有4个答案
  19. driller fuzz arm问题解决记录
  20. 盘点SCI、SSCI、EI……的前世今生

热门文章

  1. 安装win2003 R2 SP2 x64 可用密钥
  2. keil编写正弦函数_Keil C51编程控制倍频正弦信号的产生
  3. android如何增加北斗定位,安卓手机怎么设置北斗导航图文教程
  4. 图像处理 理想低通滤波器_如何为您的文章选择理想的图像
  5. 督查督办管理系统在企业管理中起到的作用
  6. 数据结构——BF算法
  7. 单壁碳纳米管-DNA复合物(SWCNT-DNA)|作用机理
  8. 莫比乌斯反演与整除分块
  9. (四)下载利器aria2
  10. FIRST集和 FOLLOW集的计算