• 2436阅读
  • 0回复

[提问]Qt连打印机打印窗口背景图//怎么不行呢。。。 [复制链接]

上一主题 下一主题
离线mirro187
 

只看楼主 倒序阅读 楼主  发表于: 2015-03-15
  1. //打印出图
  2. void OsgMainWindow::printSlot()
  3. {
  4. QPrinter printer;
  5. QPixmap  originalPixmap;
  6. int width,height;
  7. width = QApplication::desktop()->size().width();
  8. height = QApplication::desktop()->size().height();
  9. QScreen *screen = QApplication::primaryScreen();
  10. if(screen)
  11. originalPixmap = screen->grabWindow(0);
  12. QPrintDialog* printDialog = new QPrintDialog(&printer,this);
  13. if(printDialog->exec()){
  14. //printDialog->move(600,600);
  15. QPainter painter(&printer);
  16. QRect rect = painter.viewport();
  17. QSize size = originalPixmap.size();
  18. size.scale(rect.size(), Qt::KeepAspectRatio);
  19. painter.setViewport(rect.x(), rect.y(),
  20. size.width(), size.height());
  21. painter.setWindow(originalPixmap.rect());
  22. painter.drawImage(0,0,originalPixmap);
  23. }
  24. }





快速回复
限100 字节
 
上一个 下一个