作一個時光回憶錄小軟件看成情人節禮物

受疫情影響,不少情侶即便相隔一個小區也沒法見面,快遞也遲遲未啓動。在這情人節到來之際,宅在家中不妨本身動手作一個小軟件來看成情人節禮物。canvas

file

我作了這樣一個「時光回憶錄」,主要分爲如下四部分,登陸界面的設計,倒很多天模塊,照片模塊以及甜言蜜語模塊。dom

登陸界面

file

由於照片,情話這種較爲隱私的東西,我決定設計必定的登陸門檻。可是與此同時,我給出了love、you這兩個菜單欄做爲帳號密碼的提示,經過entry控件獲得輸入的帳號密碼,而且在點擊login按鈕後,進入到主界面之中。oop

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()複製代碼

照片播放

file

這一模塊主要是實現照片的查看,經過向前向後兩個按鈕控制照片的翻閱,能夠將兩人的合照按照時間順序展開。須要對照片進行預處理,調整到適配的大小。spa

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)  複製代碼

記念日

這一個模塊主要作了一個記念日的計算,距離比較重要的日子,例如生日,結婚記念日等的一個日期倒計時。設計

file

程序打包

爲了使得對方可以在沒有相關環境的狀況下運行,咱們須要將此程序進行打包處理,這裏利用pyinstaller模塊能夠輕鬆作到。3d

pyinstaller -F -w -i  xxx.ico  xxxxx.py複製代碼

其中添加-w參數能夠取消啓動時的命令行顯示,xxx.ico則爲exe文件的圖標。code

至此一份有心的情人節小禮物就製做完成啦,祝你們情人節快樂~cdn

相關文章
相關標籤/搜索