Из-за эпидемии многие пары не могли встретиться, даже если их разлучила община, и экспресс-доставка задерживалась. По случаю Дня святого Валентина вы можете сами сделать небольшую программу дома в качестве подарка на День святого Валентина.
Я сделал такой «мемуар времени», который в основном разделен на следующие четыре части: дизайн интерфейса входа в систему, модуль обратного отсчета, модуль фото и модуль милой беседы.
интерфейс входа
Из-за более личных вещей, таких как фотографии и любовные слова, я решил разработать определенный порог входа. Но в то же время я даюлюблю тебяЭти две строки меню используются в качестве подсказок пароля учетной записи.Введенный пароль учетной записи получается с помощью элемента управления вводом, и после нажатия кнопки входа в систему осуществляется вход в основной интерфейс.
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")
ласковое слово
Этот модуль в основном случайным образом выбирает радужное пердеть для отображения в текстовом поле и переключает радужное пердеть с помощью переключателя фотографии.Конечно, напишите фон фотографии для каждой фотографии, и ваши медовые слова будут лучше!
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-файла.
На этом сердечный подарок ко Дню святого Валентина готов. Желаю вам счастливого Дня святого Валентина~