就是在程序中实现打印的功能。我这一段代码基本上照搬了Scribble Example的样例。
void FirstAttempt::print()
{
#ifndef QT_NO_PRINTER
QPrinter printer(QPrinter::HighResolution);
QPrintDialog *printDialog = new QPrintDialog(&printer, this);
//! [21] //! [22]
if (printDialog->exec() == QDialog::Accepted) {
QPainter painter(&printer);
QRect rect = painter.viewport();
QSize size = image.size();
size.scale(rect.size(), Qt::KeepAspectRatio);
painter.setViewport(rect.x(), rect.y(), size.width(), size.height());
painter.setWindow(image.rect());
painter.drawImage(0, 0, image);
}
#endif // QT_NO_PRINTER
}
运行时发现打印出来的图件太小,我是1280*800的屏幕,原来是全屏的,打印出来以后A4的纸占了不到全页面的50%。不知道有没有办法让打印出的图件大一些?
谢谢!