Qt实现Qchart的打印和打印预览的几种方法
生活随笔
收集整理的這篇文章主要介紹了
Qt实现Qchart的打印和打印预览的几种方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
實現(xiàn)打印預覽和打印,是挺常用的功能。把其他一些內(nèi)容如QTextBrowser或者QEditText打印和打印預覽是容易的,因為它們都自帶了print方法,可以直接輸出到printer。這里介紹下Qt實現(xiàn)Qchart的打印和打印預覽的幾種方法。
首選介紹下Qt如何實現(xiàn)打印預覽功能。
打印預覽的實現(xiàn)
使用Qt自帶的QPrintPreviewDialog和QPrinter。
void MainWindow::PrintPreview() {QPrinter printer(QPrinter::HighResolution);//自定義紙張大小,特別重要,不然預覽效果極差printer.setPageSize(QPrinter::Custom);printer.setPaperSize(QSizeF(600, 800),QPrinter::Point);QPrintPreviewDialog preview(&printer, this);// 創(chuàng)建打印預覽對話框preview.setMinimumSize(1000,600);connect(&preview,SIGNAL(paintRequested(QPrinter*)),this,SLOT(Preview(QPrinter*) ) );preview.exec(); //打印對話框顯示,paintRequest觸發(fā) } void MainWindow::Preview(QPrinter *printer) {ui->textBrowser->print(printer); }Qchart的打印
方法一,使用QTextDocument?
打印html文件模板。html文件中帶上圖片路徑:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>特立獨行的貓哥</title> </head> <body><h1>我的第一個標題</h1><p>一個來自文件中的圖像:</p> <img src="./chart1.png" width="600" height="400"> </body> </html> void MainWindow::Preview(QPrinter *printer) {//ui->tb->print(printer);QString fileContent = "";QFile file1("./test.html"); //htmlfileName:本地的制作好的html文件if (file1.open(QIODevice::ReadOnly)){QTextStream fs(&file1);fs.setCodec("UTF-8"); //Qt 使用 UTF-8 編碼讀取文件,解決打印的文件中文亂碼fileContent = fs.readAll();file1.close();}QTextDocument textDocument;textDocument.setHtml(fileContent);textDocument.print(printer);}方法二,使用QPainter?
void MainWindow::Preview(QPrinter *printer) {//ui->tb->print(printer);QPainter painter(printer);QPixmap pix;pix.load("./chart1.png");// painter.drawPixmap(0,0,850,850,pix); //在(0,0)點起始的寬高均為50的句型中顯示圖片qreal wid = pix.width(); //獲取圖像的寬高qreal hei = pix.height();pix = pix.scaled(wid*5,hei*5,Qt::KeepAspectRatio);//將圖片寬高擴大兩倍,且在矩形內(nèi)保持寬高比值painter.drawPixmap(0,0,pix);}保存Qchart為圖片
{//抓取qchart圖片QPixmap pix = ui->qchart2->grab();QImage image = pix.toImage();QString imgname = "_chart2.png";imgname = PIC_PATH+imgname;image.save(imgname); }引用
QT打印,打印預覽_爾容又夏的博客-CSDN博客_qt打印預覽
QT實現(xiàn)打印預覽及生成Pdf功能_小MarkK的博客-CSDN博客_qt打印pdf
【QT5】QPixmap的使用_&Mr.Gong的博客-CSDN博客_qpixmap用法
C/C++ Qt QChart 繪圖組件應用_LyShark 孤風洗劍的博客-CSDN博客
1.關于QT中的Graphics繪圖,定時器,動畫,將窗口中的內(nèi)容打印到圖片上,打印機,打印預覽_to.to的博客-CSDN博客
總結(jié)
以上是生活随笔為你收集整理的Qt实现Qchart的打印和打印预览的几种方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MFC 对话框打印和打印预览知识总结
- 下一篇: react项目中实现打印预览功能