Qt无法将QPaintDevice转换为QImage

时间:2012-04-27 08:06:18

标签: c++ qt qpainter qimage

这听起来很傻,但我无法截取QwebView的截图。

QImage image(view.page()->viewportSize(), QImage::Format_ARGB32);
QPainter painter;
painter.begin(image); // Here is the error. See below
view.page()->mainFrame()->render(&painter);
painter.end();
image.save("out.png");

错误消息是,

mainwindow.cpp:115: error: no matching function for call to 'QPainter::begin(QImage&)'
candidate is bool QPainter::begin(QPaintDevice*)

我所知道的是,QPaintDevice是QPaint的基础。

2 个答案:

答案 0 :(得分:4)

从错误中查找您需要通过指针传递image

painter.begin(&image);

答案 1 :(得分:3)

错误消息告诉您:方法begin需要指向绘图表面的指针,而不是引用。尝试做:

painter.begin(&image);