Непонятно, что имел в виду ваш учитель об использовании классов. Я собираюсь догадаться, что они хотят, чтобы вы создали объект «список задач», который имеет методы для добавления и удаления задач. Я не знаю, хотят ли они, чтобы GUI был частью этого класса или нет. Возможно, все ваше приложение состоит из классов, или вы можете использовать класс только для бизнес-логики.
Я думаю, вам следует начать с создания класса только для бизнес-логики. Это будет выглядеть примерно так:
class ToDoList():
def __init__(self):
self.the_list = []
def add(self, value):
<code to add the value to self.the_list>
def remove(self, item):
<code to remove a value from self.the_list>
При этом вы можете написать простую небольшую программу без графического интерфейса, которая упрощает проверку логики:
# create an instance of the to-do list
todo_list = ToDoList()
# add two items:
todo_list.add("mow the lawn")
todo_list.add("buy groceries")
# delete the first item:
todo_list.remove(0)
Чтобы построить GUI поверх этого, вы можете либо добавить компонент GUI в существующий класс, либо создать новый класс специально для GUI. У каждого есть свои плюсы и минусы.
В следующем примере GUI - это отдельный класс, который использует класс ToDoList
для обслуживания данных. Этот дизайн позволяет вам повторно использовать основную логику списка задач в тестах, в графическом интерфейсе и даже в веб-приложении или, возможно, даже в мобильном приложении.
class ToDoGUI():
def __init__(self):
# initalize the list
self.todo_list = ToDoList()
# initialize the GUI
<code to create the entry, button, and widget to show the list>
def add(self):
# this should be called by your button to the list
data = self.entry.get()
self.todo_list.add(data)