Помогите доделать програму по питону

нужно сделать кнопки рабочими
вот код который я уже написал from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import *
import json
app = QApplication([])
window = QWidget()
list1 = QListWidget()
list2 = QListWidget()
label1 = QLabel()
label2 = QLabel()
text = QTextEdit()
line = QLineEdit()
button1 = QPushButton('создать заметку')
button2 = QPushButton('удалить заметку')
button3 = QPushButton('сохранить заметку')
button4 = QPushButton('добавить к заметке')
button5 = QPushButton('Открепить от заметки')
button6 = QPushButton('Искать заметки по тэгу')
V1 = QVBoxLayout()
V2 = QVBoxLayout()
H1 = QHBoxLayout()
H2 = QHBoxLayout()
H3 = QHBoxLayout()
H4 = QHBoxLayout()
H5 = QHBoxLayout()
H6 = QHBoxLayout()
V1.addWidget(text)
V2.addWidget(label1)
V2.addWidget(list1)
H2.addWidget(button1)
H2.addWidget(button2)
V2.addLayout(H2)
H3.addWidget(button3)
V2.addLayout(H3)
V2.addWidget(label2)
V2.addWidget(list2)
V2.addWidget(line)
H4.addWidget(button4)
H4.addWidget(button5)
H5.addWidget(button6)
V2.addLayout(H4)
V2.addLayout(H5)
H1.addLayout(V1)
H1.addLayout(V2)
window.setLayout(H1)
notes = {
"Добро пожаловать!" : {
"текст" : "Это самое лучшее приложение для заметок!",
"теги" : ["добро", "инструкция"]
}
}
with open("notes_data.json", "w") as file:
json.dump(notes, file)
def show_note():
key = list1.selectedItems()[0].text()
print(key)
text.setText(notes[key]["текст"])
list2.clear()
list2.addItems(notes[key]["теги"])
list1.itemClicked.connect(show_note)
with open("notes_data.json", "r") as file:
notes = json.load(file)
list1.addItems(notes)
window.show()
app.exec()
это будет стоить 100$
Программа — это структуры данных и алгоритмы работы с ними. А ты нарисовал лишь прототип интерфейса пользователя, причем даже не рабочий, и предлагаешь кому-то всё основное сделать за тебя...