Вызывается предварительный просмотр перед печатью, формируются листы. На предварительной просмотре видим все ОК.
В меню предварительного просмотра нажимаем кнопку Печать. Появляется диалог печати. Выставляем Печатать к примеру только 2 страницу.
Печатаются все страницы! Это баг? Или надо делать дополнительную обработку чтобы печатались только выбранные/указанные страницы?
void UPrintTextEditor::onExec(){
QPrinter printer(QPrinter::ScreenResolution);
printer.setPageSize(QPrinter::A4);
printer.setOrientation(QPrinter::Landscape);
printer.setPageOrder(QPrinter::FirstPageFirst);
QPrintPreviewDialog preview(&printer);
connect(&preview, SIGNAL(paintRequested(QPrinter*)), SLOT(onPrint(QPrinter*)));
preview.exec();
}
void UPrintTextEditor::onPrint(QPrinter *printer){
QPainter painter;
painter.begin(printer);
for(int i = 1; i <= 3; i++){
painter.drawText(QRectF(10.0, 10.0, 100.0, 100.0), QString::number(i) + ". Page");
if(i < 3) printer->newPage();
}
painter.end();
}