• 5000阅读
  • 2回复

[提问]qpainter的window()和viewport()的区别? [复制链接]

上一主题 下一主题
离线snowseya
 

只看楼主 倒序阅读 楼主  发表于: 2011-11-16
  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大小?
离线dbzhang800

只看该作者 1楼 发表于: 2011-11-17
离线snowseya

只看该作者 2楼 发表于: 2011-11-20
不好意思,没有看懂。具体到打印,通过viewport()获得的视口,应该是什么呢?
快速回复
限100 字节
 
上一个 下一个