热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Qt批量打印图片

Qt调用打印机批量打印图片,输出为pdf;voidshowPrintDialog(constQStringList&paths){QPrinterprinter;p

Qt 调用打印机批量打印图片,输出为pdf;

void showPrintDialog(const QStringList &paths) {QPrinter printer;printer.setOutputFormat(QPrinter::PdfFormat);QPixmap img;QPrintDialog* printDialog &#61; new QPrintDialog(&printer, this);printDialog->resize(400, 300);m_printDialogVisible &#61; true;if (printDialog->exec() &#61;&#61; QDialog::Accepted) {QPainter painter(&printer);QList::const_iterator i;for(i &#61; paths.begin(); i!&#61; paths.end(); &#43;&#43;i){if (!img.load(*i)) {qDebug() <<"img load failed" <<*i;continue;}if (img.width() > img.height())printer.setPageOrientation(QPageLayout::Landscape);elseprinter.setPageOrientation(QPageLayout::Portrait);QRect pageOriginRect &#61; printer.pageRect();QSize pageRect &#61; QSize(pageOriginRect.width() - 8,pageOriginRect.height() - 8);img &#61; img.scaled(pageRect, Qt::KeepAspectRatio, Qt::SmoothTransformation);painter.drawPixmap(0, 0, img);if (i !&#61; paths.end() - 1)printer.newPage();}painter.end();qDebug() <<"print succeed!";return;}QObject::connect(printDialog, &QPrintDialog::finished, this, [&#61;]{printDialog->deleteLater();m_printDialogVisible &#61; false;});qDebug() <<"print failed!";
}



推荐阅读
author-avatar
佳佳的梦Aas
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有