N
NikitaZ1 июня 2017 г. 4:15

SVG

Каким образом сохранить координаты объектов сцены? Потому что при загрузке все объекты будут в одном месте

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

10
Evgenii Legotckoi
  • 1 июня 2017 г. 12:21
  • Ответ был помечен как решение.

Вы читали стать на сайте по сохранению и восстановлению данных из SVG файла? Если нет, то прочитайте вначале их, думаю, что там есть необходимые Вам ответы:

  1. Сохранение файлов SVG
  2. Восстановление данных из файлов SVG
    N
    • 1 июня 2017 г. 12:29

    Как раз с них и делал. И загрузка и сохранение полностью скопированны из данных статей

      Evgenii Legotckoi
      • 1 июня 2017 г. 12:34

      Если сделать всё правильно, то объекты будут в нужных местах на графической сцене. Это хорошо видно в скринкасте. Могу утверждать, что Вы что-то упустили.

        N
        • 1 июня 2017 г. 12:34

        Не отрицаю. Все таки ночью делал

          Evgenii Legotckoi
          • 1 июня 2017 г. 12:37

          В статье по восстановлению данных в методе getElements есть участок кода, который отвечает за установку координат на графической сцене:

          QDomElement gElement = gNode.toElement();
          rect->setRect(rectangle.attribute("x").toInt(),
                        rectangle.attribute("y").toInt(),
                        rectangle.attribute("width").toInt(),
                        rectangle.attribute("height").toInt());
            Evgenii Legotckoi
            • 1 июня 2017 г. 12:40

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

            Можно, конечно и через QSvgRenderer восстановить все данные и координаты, но зачастую, если требуется работа с графикой, используются кастомные классы для графических объектов, поэтому стоит восстанавливать данные, как показано в статье по восстановлению данных из SVG

              N
              • 1 июня 2017 г. 13:55

              Вот посмотрите пожалуйста

                N
                • 1 июня 2017 г. 14:17

                Вот посмотрите пожалуйста. В файле только один rect. Вот в чем проблема

                  N
                  • 1 июня 2017 г. 14:20

                  точнее не один, а все. от только значения у них одинаковые

                    N
                    • 1 июня 2017 г. 14:37

                    Извините пожалуйста за беспокойство. В вашем коде ошибок нет. Это моя сонная голова не увидела, что я изначально присваивал значения для моих фигур

                      Комментарии

                      Только авторизованные пользователи могут публиковать комментарии.
                      Пожалуйста, авторизуйтесь или зарегистрируйтесь
                      Ua

                      Qt - Тест 001. Сигналы и слоты

                      • Результат:84баллов,
                      • Очки рейтинга4
                      Ua

                      Qt - Тест 001. Сигналы и слоты

                      • Результат:42баллов,
                      • Очки рейтинга-8
                      ОК

                      Qt - Тест 001. Сигналы и слоты

                      • Результат:47баллов,
                      • Очки рейтинга-6
                      Последние комментарии
                      ИМ
                      Игорь Максимов22 ноября 2024 г. 21:51
                      Django - Урок 017. Кастомизированная страница авторизации на Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
                      Evgenii Legotckoi
                      Evgenii Legotckoi31 октября 2024 г. 23:37
                      Django - Урок 064. Как написать расширение для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
                      A
                      ALO1ZE19 октября 2024 г. 17:19
                      Читалка fb3-файлов на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
                      ИМ
                      Игорь Максимов5 октября 2024 г. 16:51
                      Django - Урок 064. Как написать расширение для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
                      d
                      dblas55 июля 2024 г. 20:02
                      QML - Урок 016. База данных SQLite и работа с ней в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
                      Сейчас обсуждают на форуме
                      f
                      firstlunoxod15 февраля 2025 г. 13:46
                      Рисование на QGraphicsScene при зажатой кнопке мыши Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
                      Дмитрий
                      Дмитрий3 февраля 2025 г. 16:24
                      Создание deb-пакета. Как создать ярлык на рабочем столе после установки собственного deb-пакета? Всем привет. Сделал свой deb-пакет с программой. Всё устанавливается и работает. Ставлю по пути /usr/bin/my_application. Как для пользователя при установке пакета сразу создать ярлык на раб…
                      NW
                      Nayo Wai30 января 2025 г. 19:22
                      не запускается компьютер!!! Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
                      n
                      nkly3 января 2025 г. 12:52
                      Нужно запретить перемещение только некоторых итемов, остальные перемещать можно. Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
                      M
                      Marsel17 августа 2023 г. 0:26
                      OAuth2.0 через VK, получение email Спасибо большое за помощь и простите за то что отнял время своей невнимательностью.

                      Следите за нами в социальных сетях