Python «удалить» идентификаторы класса для программы теории графов в tkinter - PullRequest
0 голосов
/ 30 июня 2018

Я пишу программу, которая может создавать вершины и ребра с помощью «onclick». В моем меню есть опция «Новый», которая должна очистить холст, чтобы начать заново.

Я создаю вершины с помощью create_oval, и, насколько я понял, каждый объект получает идентификатор класса 1,2,3, ... если я сейчас нажму кнопку нового, я бы хотел, чтобы они были сброшены / удалены, иначе моя идея как программировать это не работает. Кто-нибудь может мне помочь? Я написал в spyder и определил функцию

def initCanvas(self): 
    self.canvas.delete(tk.ALL)

это очищает холст, но не идентификаторы, что отсутствует / что я должен изменить?

1 Ответ

0 голосов
/ 30 июня 2018

холст tkinter не использует идентификаторы повторно. Если вы создаете элемент с идентификатором 1, а затем удаляете его, следующий элемент будет иметь идентификатор 2. Это одна из причин, по которой у холста возникают проблемы с производительностью, если вы многократно создаете и удаляете много объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...