QPrinter printer(QPrinter::ScreenResolution);
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
if (printDialog->exec() == QDialog::Accepted)
{
QPainter painter(&printer);painter.setClipping(true);
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.drawImage(0, 0, QPixmap::grabWidget(scrollAreaWidgetContents,scrollAreaWidgetContents->rect()).toImage());
}
我画出的图片太高,打印只打印一页,显示一部分而已,我要怎么做,让它自动分页呢?
还有怎样把它改成打印预览的模式显示出来再打印呢?
英文不太好,找了很旧帮助也没找到方法,希望高手指点!