Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вывод векторной картинки
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Система рисования. Печать
Гость_Aline_u_*
Добрый день! Только недавно начала изучать Qt, поступило задание: необходимо на экран вывести векторные картинки, при этом они должны стыковаться друг с другом, к ним должен быть прикручен текст и их можно убирать (удалять). В связи с этим возникли вопросы: я вот таким образом (по нажатию на кнопку) вывожу картинку
    ui->grShemaView->scene()->addPixmap(QPixmap("D://WORK//QT projects//ShemaPoleta//ImgShemaPoleta//kvadrat.png"));

    ui->grShemaView->show();


почитала, что аddPixmap используется для растровых изображений, мне же надо вывести векторное. Что тогда использовать? Еще мне надо вывести в определенное место, т.е. задать координаты, к тому же следующую картинку надо пристыковать к предыдущей,т.е. мне надо знать координаты предыдущей картинки. Как их узнать?
ilyabvt
Вам нужно будет использовать модуль QtSvg, а конкретнее класс QSvgRenderer.
http://qt-project.org/doc/qt-5.1/qtsvg/qtsvg-index.html
http://qt-project.org/doc/qt-4.8/qtsvg.html
у этого класса есть функция
 render(QPainter * painter, const QRectF & bounds)
какой QRect передадите там и нарисуется.
aline
Цитата(ilyabvt @ 15.7.2013, 17:08) *
Вам нужно будет использовать модуль QtSvg, а конкретнее класс QSvgRenderer.
http://qt-project.org/doc/qt-5.1/qtsvg/qtsvg-index.html
http://qt-project.org/doc/qt-4.8/qtsvg.html
у этого класса есть функция
 render(QPainter * painter, const QRectF & bounds)
какой QRect передадите там и нарисуется.

Спасибо за ответ!
А для чего используется render? Просто я начала использовать QGraphicsScene и QGraphicsSvgItems.
ilyabvt
Рендерит изображение на наследниках QPaintDevice с помощью QPainter. QPainter это класс для рисования, в конструктор или в его функцию begin должен быть передан PaintDevice (холст на котором будет производиться рисование). Функцию render использует объект QPainter и рисует изображение на связанном с ним холсте.
Не принципиально что и использовать, исключительно вопрос удобства. Вот есть пример, тут тоже используется QGraphicsScene и QGraphicsSvgItems:
SVG Viewer Example
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.