qpainter的window()和viewport()的区别?
seya 2011-11-23 10:02:41 QPrintDialog printDialog(&printer, this);
if (printDialog.exec()) {
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);
}
这是一段打印的代码,在这里viewport()和window()的区别是什么?再一个,QRect rect = painter.viewport();这句是什么意思?获得打印机的视口吗?打印机的视口又指什么呢?是不是可以这样理解呢,即打印默认的纸张的大小?比如,打印机的默认纸张为A4,则这句获得的rect,即为A4大小? 另外viewport()和windows()这两个函数与pagerect()的具体区别是什么?