Qt 抓取控制項生成PDF

2021-08-09 08:06:03 字數 1342 閱讀 4819

qt5中,取消了 qpainter::grabwidget ,新增了widget::grab.下面是qt手冊中所述:

[static] qpixmap qpixmap::grabwidget(qobject *widget, const qrect &rectangle)

use qwidget::grab() instead.

qpixmap qwidget::grab(const qrect &rectangle = qrect( qpoint( 0, 0 ), qsize( -1, -1 ) ))

if a rectangle with an invalid size is specified (the default), the entire widget is painted.

this function was introduced in qt 5.0.

所以我們可以直接通過控制項中自帶的grab來獲取指定區域的pixmap了,如:

pixmap=textedit->grab();
下面附上完整的抓取textedit中文字生成pdf的例子:

#ifndef mainwindow_h

#define mainwindow_h

#include #include #include #include #include namespace ui

class mainwindow : public qmainwindow

;#endif // mainwindow_h

mainwindow.h

#include "mainwindow.h"

#include "ui_mainwindow.h"

#include mainwindow::mainwindow(qwidget *parent) :

qmainwindow(parent),

ui(new ui::mainwindow)

mainwindow::~mainwindow()

mainwindow.cppp

#include "mainwindow.h"

main.cpp
附上效果圖:

QT實現列印預覽及生成Pdf功能

一 要實現列印功能,首先要在pro檔案中加上 qt printsupport 並且需要重新qmake 二 qt提供了qprintpreviewdialog 類,所以列印功能可以直接通過此對話方塊實現 三 要喚出 qprintpreviewdialog 對話方塊,需要使用 connect previe...

php生成pdf生成

fpdf是乙個純粹的通過php類來生成pdf文件的方法,需要生成的內容直接在php 中來指定,生成文字,線條等等,都有自己的方法。下面介 紹乙個用fpdf來生成 hello world 的pdf文件 php require fpdf.php pdf new fpdf pdf addpage pdf ...

生成pdf檔案

public void createpdf throws exception tablet.settotalwidth f this.addcell tablet,姓名 yy 1,0,20,fontcn.getnormalfont element.align left,0,0,0,0 this.ad...