Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: romanick от Март 21, 2011, 15:27



Название: многостраничный QGraphicsScene
Отправлено: romanick от Март 21, 2011, 15:27
Прошу совета. Подскажите путь.
Суть задачи следующая: Есть некая модель данных (многостраничный отчёт), который надо выводить на экран через QGraphicsView. В один момент должна отображается одна страница отчёта. И должны быть кнопки листания по страницам.
Задача достаточно тривиальна, и я её решил пересоздавая сцену при смене страницы отчёта. Здесь пока всё ок.
Однако столкнулся с проблемой печати отчёта - как сделать чтобы на принтер выводились все страницы отчёта, ведь на сцене у нас только одна страница?...
Думал в 2-х направлениях:
1. делать на сцене каждую страницу отдельно и кидать на принтер -получается столько заданий печати сколько страниц в отчёте - не хорошо.
2. Сделать на сцене весь отчёт целиком - но как его разбить на страницы???

Печатаю так:

Код:
QPrinter printer;
    if (QPrintDialog(&printer).exec() == QDialog::Accepted)
    {
        QPainter painter(&printer);
        painter.setRenderHint(QPainter::Antialiasing);
        scene.render(&painter);
    }


Название: Re: многостраничный QGraphicsScene
Отправлено: deaks от Март 21, 2011, 16:14
В книге Qt4 Программирование GUI на С++. Жасмин Бланшет на 223ей странице как раз решение вашей задачи


Название: Re: многостраничный QGraphicsScene
Отправлено: romanick от Март 21, 2011, 17:10
В книге Qt4 Программирование GUI на С++. Жасмин Бланшет на 223ей странице как раз решение вашей задачи
Спасибо буду смотреть...