hailler的个人主页

http://www.qtcn.org/bbs/u/183962  [收藏] [复制]

hailler

  • 0

    关注

  • 2

    粉丝

  • 26

    访客

  • 等级:新手上路
  • 总积分:25
  • 保密,2011-01-01

最后登录:2019-06-22

更多资料

日志

实现了打印和预览功能

2017-11-04 08:59
QPrinter printer(QPrinter::HighResolution);
    QPrintDialog dialog(&printer,QApplication::activeWindow());
    if (dialog.exec()==QDialog::Accepted){
        QPainter p(&printer);
        foreach(pageScene, pageSceneVector){
            pageScene->render(&p, printer.paperRect(), sceneRect);
            if(pageScene != pageSceneVector.last())
                printer.newPage();
        }
    }

预览功能
主函数里添加

  QPrinter printer(QPrinter::HighResolution);
    //自定义纸张大小
    printer.setPageSize(QPrinter::A4);

    QPrintPreviewDialog preview(&printer, this);
     preview.setWindowTitle("打印预览");
   preview.setWindowFlags(Qt::Window);
   preview.setMinimumSize(1200,800);
    connect(&preview, SIGNAL(paintRequested(QPrinter*)),&rp, SLOT(printPreviewSlot(QPrinter*)));
    preview.exec ();

//  rp 为 实现打印预览功能的类引用
调用函数
void QTEWordExpress::printPreviewSlot(QPrinter *printer)
{
    
    QPainter p(printer);
    foreach(pageScene, pageSceneVector){
        pageScene->render(&p, printer->paperRect(), sceneRect);
        if(pageScene != pageSceneVector.last())
            printer->newPage();
   }
}
分类:默认分类|回复:0|浏览:769|全站可见|转载
 

Powered by phpwind v8.7 Certificate Copyright Time now is:04-25 22:43
©2005-2016 QTCN开发网 版权所有 Gzip disabled