Прошу совета. Подскажите путь.
Суть задачи следующая: Есть некая модель данных (многостраничный отчёт), который надо выводить на экран через QGraphicsView. В один момент должна отображается одна страница отчёта. И должны быть кнопки листания по страницам.
Задача достаточно тривиальна, и я её решил пересоздавая сцену при смене страницы отчёта. Здесь пока всё ок.
Однако столкнулся с проблемой печати отчёта - как сделать чтобы на принтер выводились все страницы отчёта, ведь на сцене у нас только одна страница?...
Думал в 2-х направлениях:
1. делать на сцене каждую страницу отдельно и кидать на принтер -получается столько заданий печати сколько страниц в отчёте - не хорошо.
2. Сделать на сцене весь отчёт целиком - но как его разбить на страницы???
Печатаю так:
QPrinter printer;
if (QPrintDialog(&printer).exec() == QDialog::Accepted)
{
QPainter painter(&printer);
painter.setRenderHint(QPainter::Antialiasing);
scene.render(&painter);
}