Qt урок 44. Сохранение QGraphicsScene в SVG
qgraphicspathitem, qgraphicsscene, qgrpaphicsrectitem, qt урок 40, svg
Евгений, просмотрела урок 44 о сохранении объектов … в файл SVG.
Скачала исходники и результата ожидаемого не получила.
В запомненном файле нет ни одной строки с rect. Вместо этого ” d=”M10,50 L110,50 L110,100 L10,100 L10,50″/>
Наткнулась на ваш урок и попыталась получить результат.
QT недавно стала использовать.
На самом деле меня интересовал больше урок 41 – это почти то, что мне нужно сделать в своей программе.
Дело в версии? настройках? Где смотреть?
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg width="141.111mm" height="141.111mm" viewBox="0 0 400 400" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.2" baseProfile="tiny"> <title>SVG Example</title> <desc>File created by SVG Example</desc> <defs> </defs> <g fill="none" stroke="black" stroke-width="1" fill-rule="evenodd" stroke-linecap="square" stroke-linejoin="bevel" > <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> <g fill="#ff0000" fill-opacity="1" stroke="#000000" stroke-opacity="1" stroke-width="2" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > <path vector-effect="none" fill-rule="evenodd" d="M10,50 L110,50 L110,100 L10,100 L10,50"/> </g> <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> <g fill="#0000ff" fill-opacity="1" stroke="#000000" stroke-opacity="1" stroke-width="2" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > <path vector-effect="none" fill-rule="evenodd" d="M150,100 L265,100 L265,175 L150,175 L150,100"/> </g> <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> <g fill="none" stroke="#000000" stroke-opacity="1" stroke-width="1" stroke-linecap="square" stroke-linejoin="bevel" transform="matrix(1,0,0,1,0,0)" font-family="MS Shell Dlg 2" font-size="8.25" font-weight="400" font-style="normal" > </g> </g> </svg>
0
253
The question is asked by the articleQt/C++ - Lesson 044. Saving objects from QGraphicsScene into SVGDo you like it? Share on social networks!
- Last comments
- AKApril 1, 2025, 11:41 a.m.Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
- VPMarch 9, 2025, 4:14 p.m.Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…
- ИМNov. 22, 2024, 9:51 p.m.Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
- Now discuss on the forum
- МАApril 1, 2025, 4:21 p.m.0ff763fe-4e50-455d-a3a6-5699c243b1a5_17_44_22_1.xml
- fFeb. 15, 2025, 1:46 p.m.Подскажите, пожалуйста! Как данный класс можно дополнить, чтобы созданные объекты можно было перемещать мышкой по сцене?
- Не запускается компьютер (точнее работает блок , но сам монитор вообще жесть)В общем я ничего с интернета не скачивала в последнее время. На компе никаких левых пр…
- Вопрос решен. Узнать QModelIndex элемента на который мы перетаскиваем другой элемент, можно с помощью функции indexAt(event->position().toPoint()) представления QTreeViev вызываемой в переопр…
Скорее всего дело в том, что вы использовали QGraphicsPathItem.
У меня при использовании QGraphicsPathItem был такой же результат.
Тег rect означает именно прямоугольник, path – это путь, ломанная линия.
Судя по этим координатам M10,50 L110,50 L110,100 L10,100 L10,50, Вы нарисовали прямоугольник,но он был нарисован с помощью объекта “путь”, а не объекта “прямоугольник”.
Воспользуйтесь объектом класса QGraphicsRectItem.
Хмм…
Я ни буквы в ваших исходниках не исправила, не считая, что раскомментировала создание красного и синего прямоугольника.
Мб дело в чём-то другом?
Урок делался на Qt5.5.
Какая у Вас версия?
Обновитесь до версии Qt5.5 или лучше до Qt5.6 (QtCreator 3.6.1)
Обновитесь лучше до последней версии.
исправлен в версии 5.5.0