сохранение и загрузка сцены из SVG |
Здравствуйте, гость ( Вход | Регистрация )
сохранение и загрузка сцены из SVG |
Radagast |
14.6.2008, 11:15
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 14.6.2008 Пользователь №: 201 Спасибо сказали: 0 раз(а) Репутация: 0 |
Qt 4.3.2, MS VS 2005
нужно написать простенький аналог CorelDRAW (с рисованием линий, окружностей разных цветов, возможностью их выделить, перетащить, зум рисунка в целом). С возможностями классов QGraphicsXXX реализация обещает быть несложной, но встает вопрос с сохранием в SVG и загрузкой из SVG формата. Если с сохранением (судя по документации) вроде как понятно (есть QSvgGenerator), то вот документация к QGraphicsSvgItem меня обеспокоила, из нее следует, что всё содержимое файла будет представлено на сцене одним айтемом, а не множеством линий, кружочков, прямоугольников (в общем, наследников QGraphicsItem), какими они были до сохранения и которые можно было по отдельности перетаскивать, редактировать... |
|
|
Admin |
14.6.2008, 11:44
Сообщение
#2
|
Администратор Группа: Администратор Сообщений: 646 Регистрация: 9.10.2007 Из: crossplatform.ru Пользователь №: 1 Спасибо сказали: 17 раз(а) Репутация: 2 |
Ну почему же, вот пример из QGraphicsSvgItem -> Detailed Description:
Судя по описанию в SvgCardDeck.svg содержится вся карточная колода, а с помощью данного кода из svg файла достаются только джокеры.Ключевым методом как я понял здесь является: void QGraphicsSvgItem::setElementId ( const QString & id ). Прочитай внимательней описание данного класса. |
|
|
Radagast |
14.6.2008, 12:54
Сообщение
#3
|
Новичок Группа: Новичок Сообщений: 2 Регистрация: 14.6.2008 Пользователь №: 201 Спасибо сказали: 0 раз(а) Репутация: 0 |
я видел тот пример, но не до конца понимаю, как он может помочь в моем случае((
Вы не могли бы подсказать, как устанавливать эти id-шники при сохранении айтемов в файле? и что же у меня в конечном счете будет содержать сцена, исключительно экземпляры QGraphicsSvgItem? Собственно, появляется вопрос, можно ли устанавливать этот id для нового QGraphicsSvgItem, а потом QSvgGenerator его сохранит в файл? и не совсем понятно, в какой именно момент происходит загрузка отфильтрованных данных в итем...можно ли после red->setElementId(QLatin1String("red_joker")); вызывать сразу QGraphicsScene::addItem и он сразу корректно отобразится на привязанном QGraphicsView? Сообщение отредактировал Radagast - 14.6.2008, 13:01 |
|
|
Текстовая версия | Сейчас: 29.3.2024, 10:03 |