python小软件实例教程_【趣味案例】用Python做一个时光回忆录小软件,女朋友当场流泪说非我不嫁!...

“时光回忆录”,主要分为以下四部分,登录界面的设计,倒数日模块,照片模块以及甜言蜜语模块。

登录界面

因为照片,情话这种较为隐私的东西,我决定设计一定的登录门槛。但是与此同时,我给出了love、you这两个菜单栏作为账号密码的提示,通过entry控件得到输入的账号密码,并且在点击login按钮后,进入到主界面之中。

def set_win(self):

self.win.title("Login")

self.win.geometry("450x350")

menubar=tkinter.Menu(self.win)

self.win.config(menu=menubar)

menu1=tkinter.Menu(menubar,tearoff=False)

menu2=tkinter.Menu(menubar,tearoff=False)

for item in self.menu_list[:2]:

if item=='account_prompt1':

menu1.add_separator()

menu1.add_command(label=item,command=self.get_account1)

else:

menu1.add_command(label=item,command=self.get_account2)

for item in self.menu_list[2:]:

if item=='password_prompt1':

menu2.add_separator()

menu2.add_command(label=item,command=self.get_password1)

else:

menu2.add_command(label=item,command=self.get_password2)

menubar.add_cascade(label='Love',menu=menu1)

menubar.add_cascade(label='You',menu=menu2)

canvas=tkinter.Canvas(self.win,height=270,width=450)

imagefile=tkinter.PhotoImage(file='a.gif')

canvas.create_image(0,0,anchor='nw',image=imagefile)

canvas.pack()

account=tkinter.Variable()

password=tkinter.Variable()

entry1=tkinter.Entry(self.win,textvariable=account)

entry1.place(x=160,y=280)

entry2=tkinter.Entry(self.win,textvariable=password,show='*')

entry2.place(x=160,y=320)

tkinter.Label(self.win,text='Account').place(x=100,y=280)

tkinter.Label(self.win,text='Password').place(x=100,y=320)

login_button=tkinter.Button(self.win, text="Login", command=lambda :self.login(entry1,entry2), width=5, height=3)

login_button.place(x=320,y=280)

self.win.mainloop()

照片播放

这一模块主要是实现照片的查看,通过向前向后两个按钮控制照片的翻阅,可以将两人的合照按照时间顺序展开。需要对照片进行预处理,调整到适配的大小。

def pic_process(self,path):

img=Image.open(path)

img=img.resize((300,250))

photo=ImageTk.PhotoImage(img)

imgLabel=tkinter.Label(self.win2,image=photo)

imgLabel.place(x=150,y=0)

imgLabel.after()

def open_pic(self):

self.i=0

self.get_chp()

self.pic_process(self.path[self.i])

def prev_pic(self):

self.get_chp()

self.i-=1

self.pic_process(self.path[self.i])

def next_pic(self):

if self.i<40:

self.get_chp()

self.i+=1

self.pic_process(self.path[self.i])

else:

tkinter.messagebox.showinfo(message='最后一张了喔~',title="Info")

甜言蜜语

file

这一模块主要是随机选择一条彩虹屁显示在文本框内,并伴随这照片的切换,进行彩虹屁的切换,当然针对每一张照片写下照片的背景,以及你的蜜语效果更佳!

def get_chp(self):

chp=random.choice(self.CHP)

text=tkinter.Text(self.win2,width=10,height=5)

text.insert(tkinter.INSERT,chp)

text.place(x=60,y=200)

纪念日

这一个模块主要做了一个纪念日的计算,距离比较重要的日子,例如生日,结婚纪念日等的一个日期倒计时。

程序打包

为了使得对方能够在没有相关环境的情况下运行,我们需要将此程序进行打包处理,这里利用pyinstaller模块可以轻松做到。

pyinstaller -F -w -i xxx.ico xxxxx.py

其中添加-w参数可以取消启动时的命令行显示,xxx.ico则为exe文件的图标。

至此一份有心的小礼物就制作完成啦,大家看懂了也可以动动小手做给自己心爱的人!

标题是有点夸张了,但是我女朋友还是很感动的!

成长离不开与优秀的伙伴共同学习,如果你需要好的学习环境,好的学习资源,项目教程,零基础学习,这里欢迎每一位热爱Python的小伙伴,点击:Python学习圈

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值