QPrinter printer(QPrinter::ScreenResolution);
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
if (printDialog->exec() == QDialog::Accepted)
{
QPainter painter(&printer);
QRect rect = painter.viewport();
QSize size = QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage().size();
scrollAreaWidgetContents->size().scale(rect.size(), Qt::KeepAspectRatio);
painter.setViewport(rect.x()-(size.width()-740)/2, rect.y(), size.width(), size.height());
painter.setWindow(QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage().rect());
painter.drawPixmap(0, 0, QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()));
}
上面的代码只能打印一页,但我想打印多页,要怎么打印多页呢?我用printer.newPage();都没有创建新一页,不会用QPainter和QPrinter,哪个高手帮我解决一下,急急~~~~~
看帮助找不到方法,英文不好,找了好几天了!