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...