《Qt打印功能总结》
来源:互联网 发布:网络汇聚怎么做 编辑:程序博客网 时间:2024/06/15 13:36
Qt提供了强大的打印功能,我们可以使用QPainter直接在一个QPrinter的实例中进行打印,对于文件的输出我们有两种方式可以选择,一种是利用QPrinterDialog来指定打印机及打印格式;第二种方法是利用代码设置QPrinter的输出格式,纸张尺寸,并利用QFileDIalog来选择输出路径。
第一种方法:
QPrintDialog printDialog(printer, parent);if (printDialog.exec() == QDialog::Accepted) { // print ...}
第二种方法:
QPrinter printer; printer.setPaperSize(QPrinter::A4);//设置纸张大小 printer.setPageSize(QPageSize(QSize(1200,800))); //设置页面大小 printer.setOutputFormat(QPrinter::PdfFormat);//设置输出格式 QString file_path = QFileDialog::getSaveFileName(this, tr("Export PDF"), //输出路径选择对话框 "/home/jana/untitled.pdf", tr("PDF Files (*.pdf)")); if(!file_path.isEmpty()) { if(QFileInfo(file_path).suffix().isEmpty()) file_path.append(".pdf"); printer.setOutputFileName(file_path);//设置输出路径 //开始打印 }
当我们想打印界面上的控件时,我们有几种方法:一是利用QWidget的render接口将控件画到一个QPainterDevice或者QPainter上,比如我们可以直接将控件利用QPainter画到打印机上,将QWidget绘制为QPixmap或者QImage,这时我们可以将其缩放后利用QPainter输出到打印机上。第二种我们可以使用QWidget::grab将界面抓取保存为QPixmap,与render相比,grab可以随意抓取我们感兴趣的部分,更为灵活,而render对于单个QWidget的绘制更为简单。
最后总结以下打印的流程:新建一个打印机实例QPrinter-->利用QFileDialog结合QPrinter成员函数设置打印参数或者利用QPrinterDialog设置参数,并选择输出路径-->实例化一个QPainter对象,使用painter.begin(&printer)开始在打印机上绘图-->利用render或者grab绘制QWidget或者任何感兴趣的区域,并可以利用QPainter自定义绘图-->绘制完成后调用painter.end()结束绘制。
阅读全文
0 0
- 《Qt打印功能总结》
- Qt打印功能
- 用qt编写打印功能
- JAVA打印功能总结文档
- Qt实现保存、浏览、预览、打印功能
- Qt 打印预览以及打印功能的实现
- 使用IE的打印功能(个人总结)
- QT打印
- QT打印
- Qt打印
- QT打印打印excel
- 打印功能
- 打印功能
- 打印功能
- 打印功能
- 打印功能
- 打印功能
- 用jasperreports在applet中实现打印功能开发总结
- angular去掉地址栏#号
- Python 线性回归
- Codeforces 462D Appleman and Tree【思维+树型Dp】
- 牛顿法
- xtu 4
- 《Qt打印功能总结》
- 北京工业大学892软件工程基础综合(真题答案整套复习材料下载)
- ios-sizeToFit
- python3 爬虫学习日记【一】
- Red Hat 64位安装oracle 客户端sqlplus
- Design a Mondrian Schema
- MongoDB 命令
- Java:hashcode
- makefile 编程一