当前位置:编程学习 > wap >>

qpainter的window()和viewport()的区别?

  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()的具体区别是什么? --------------------编程问答-------------------- 简单来说,同一个东西,一个是物理坐标,一个是逻辑坐标 --------------------编程问答-------------------- 这个我明白的,关键是  QRect rect = painter.viewport();
获得是哪里的视口?RECT是多大?是打印机默认设置的纸张大小还是?    --------------------编程问答-------------------- 再一个,viewport和window之间是如何转换的?
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,