Сохранение объектов из тк холста - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь сделать функцию сохранения в программе, которую я делаю для всплывающих / всплывающих рисунков.Единственное, чего я не могу получить - это сохранить «рабочую копию».Как будто чертеж получает изменения ревизии, вам не нужно переделывать всю работу.Просто загрузите рабочую копию и добавьте / удалите / перенастройте пузыри.

Я использую tkinter и canvas.И создает овалы и текст для пузырей.Но я не могу найти хорошего способа сохранить информацию из овальных / текстовых объектов.Я пытался засолить весь холст, но, похоже, он не сработает после некоторого гуглинга.И мариновать каждый объект при создании, кажется, только сохранить идентификатор объекта.1, 2 и т. Д. И это также не сработает, поскольку некоторые пузырьки будут перемещены и получат новые координаты.Они также могут иметь другой цвет, размер и т. Д.

В моем следующем подходе я думаю о сохранении всего "can.create_oval (x1, y1, x2, y2, fill = fillC, outli .... "как строка в txt и сделать функцию для воссоздания с помощью eval ()

У кого-нибудь есть хорошее предложение о том, как подойти к этому?

1 Ответ

0 голосов
/ 01 декабря 2018

Нет встроенного способа сохранить и восстановить холст.Однако на холсте есть методы, которые можно использовать для получения всей информации об элементах на холсте.Вы можете использовать эти методы, чтобы сохранить эту информацию в файл, а затем прочитать этот файл обратно и воссоздать объекты.

  • find_all - вернет упорядоченный список идентификаторов объектов для всех объектов на холсте
  • type - вернет тип объекта в виде строки ("прямоугольник""," circle "," text "и т. д.)
  • itemconfig - возвращает словарь со всеми значениями конфигурации для объекта.Значения в словаре представляют собой список значений, который включает в себя значение по умолчанию для параметра в индексе 3 и текущее значение в индексе 4. Это можно использовать для сохранения только значений параметров, которые были явно изменены по умолчанию.
  • gettags - возвращает список тегов, связанных с объектом
...