受疫情影响,很多情侣即使隔着小区也无法见面,快递还没开始。这个情人节快到了,不妨宅在家里自己做一个小软件作为情人节礼物吧。我做了这样一个《时光回忆录》,主要分为以下四个部分,登录界面的设计、倒计时模块、拍照模块和甜言蜜语模块。在登录界面,因为照片、情话等比较私密的东西,所以决定设计一定的登录门槛。但同时我给了love和you两个菜单栏作为账号密码的提示,通过入口控件获取了输入的账号密码,点击登录按钮进入主界面。defset_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)foriteminself.menu_list[:2]:ifitem=='account_prompt1':menu1.add_separator()menu1.add_command(label=item,command=self.get_account1)else:menu1.add_command(label=item,command=self.get_account2)foriteminself.menu_list[2:]:ifitem=='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='你',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()账号=tkinter.Variable()密码=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='密码').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()图片播放这个模块主要是实现图片的查看,通过两个按钮控制图片的前进和向后翻翻,可以按照时间顺序展开两人的合照。您需要对照片进行预处理并将其调整为合适的尺寸。defpic_process(self,path):img=Image.open(path)img=img.resize((300,250))photo=ImageTk.PhotoImage(img)imgLabel=tkinter.Label(self.win2,image=photo)imgLabel。放置(x=150,y=0)imgLabel.after()defopen_pic(self):self.i=0self.get_chp()self.pic_process(self.path[self.i])defprev_pic(self):self.get_chp()self.i-=1self.pic_process(self.path[self.i])defnext_pic(self):如果self.i<40:self.get_chp()self.i+=1self.pic_process(self.path[self.i])else:tkinter.messagebox.showinfo(message='最后一个来了~',title="Info")Sweetwords这个模块主要是随机选择一个彩虹屁显示在文本框里面,又随着照片的切换,切换彩虹屁。当然,每张照片都写下照片的背景,甜言??蜜语效果更佳哦!defget_chp(self):chp=random.choice(self.CHP)text=tkinter.Text(self.win2,width=10,height=5)text.insert(tkinter.INSERT,chp)text.place(x=6个0,y=200)Anniversary这个模块主要是计算一个周年纪念日,生日,结婚纪念日等重要日子封装了一个日期倒计时程序,这样对方就可以运行,我们需要封装这个程序,这可以使用pyinstaller模块轻松完成。pyinstaller-F-w-ixxx.icoxxxxx.py加入-w参数可以取消启动时的命令行显示,xxx.ico是exe文件的图标。至此,一份丰盛的情人节礼物就制作完成了,祝大家情人节快乐~
