Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt-创建QPainter_C++_Qt_Qpainter_Paintevent - Fatal编程技术网

C++ Qt-创建QPainter

C++ Qt-创建QPainter,c++,qt,qpainter,paintevent,C++,Qt,Qpainter,Paintevent,我试图在程序中重写方法paintEvent,并对其进行更改 void MainWindow::paintEvent(QPaintEvent *event) { QRegion reg = this->bgPixmapHandle->rect(); QPainter painter(this); painter.setClipRegion(reg); painter.drawImage(bgPixmapHandle->rect(), bgPixm

我试图在程序中重写方法
paintEvent
,并对其进行更改

void MainWindow::paintEvent(QPaintEvent *event)
{
    QRegion reg = this->bgPixmapHandle->rect();
    QPainter painter(this);

    painter.setClipRegion(reg);
    painter.drawImage(bgPixmapHandle->rect(), bgPixmapHandle);
    painter.end();
}
在这里,我尝试更改我的
bg
图像。但我在网上遇到了一个错误:
QPainter painter(这个)

错误:变量“QPainter painter”为 已初始化,但类型为 残缺的


包括在内吗?Qt非常喜欢类的前向声明,这会导致此类神秘错误。

包括QPainter头文件。QPainter类仅在该翻译单元中包含的其中一个Qt头中向前声明。

\include
#include <QPainter>

您还应该知道,在这种情况下不需要painter.end()。当画师超出范围时,其析构函数会自动为您执行此操作。