Russian Qt Forum
Ноябрь 25, 2024, 09:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: как сохранить на диск QGraphics в "своём" формате?  (Прочитано 4462 раз)
DenKa
Гость
« : Май 13, 2007, 15:49 »

Подскажите как лучше сохранить построенную сцену (QGraphicsScene) в "своём" формате? Т.е моя сцена состоит из нескольких QGraphicsPixmapItem, которые можно по отдельности поворачивать, менять размеры и пр. Задача сохранить\открыть файл так, чтобы все "двигалось".

добавлено спустя: 30 мин

 Еще вопросс: как скопировать в буфер QGraphicsPixmapItem?
Код:

QImage image(list.at(i)->scene()->width(), list.at(i)->scene()->height(), QImage::Format_ARGB32_Premultiplied);
image.fill(NULL);
QPainter painter(&image);
scene()->render(&painter);
QApplication::clipboard()->setImage(image);

Копирует в буфер всю сцену. Для QGraphicsPixmapItem я не нашел для него метода аналогичного QGraphicsScene.render(...)
Записан
QCasper
Гость
« Ответ #1 : Май 13, 2007, 23:18 »

По поводу первого - тебе надо записать макрос чтоли? То есть нажал кнопку "записывать", проделал некие действия (повернул/подвигал пару фигур), нажал кнопку "остановить" - записалось. Сохранил, открыл, нажал "проигрывать" - все повторилось так чтоли?

По поводу второго - у класса есть метод pixmap(), сохраняй его куда хочешь.
Записан
DenKa
Гость
« Ответ #2 : Май 14, 2007, 10:07 »

Спасибо за pixmap() - заработало.
Макрос мне пока не нужен. Но если сохранить сцену (из <b>нескольких </b> QGraphicsPixmapItem) в графический файл (gif,png и.т.п), то при открытие получаю <b>один</b> большой QGraphicsPixmapItem.
Записан
QCasper
Гость
« Ответ #3 : Май 14, 2007, 10:55 »

А, вон как. Ну а в чем проблема. Придумай формат файла, я бы, например, xml использовал. И в этом формате в файле сохраняй данные о пиксмапах сцены, размер, поцизия, само изображение (или путь к графическому файлу). При загрузке просто парси этот файл и располагай на сцене пиксмапы в зависимости от этих данных.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.156 секунд. Запросов: 21.