想在窗口调用其他类的绘制函数来绘制其他类的对象
//绘制事件函数
void GameScene::paintEvent(QPaintEvent *)
{
QPainter painter(this);
//绘制背景
//painter.begin(this);
painter.drawPixmap(0,0,this->width(),this->height(),QPixmap(":/res/bb.jpg"));
rab->paintEvent(painter);
}
在.h中声明QPainter painter,函数声明写作void paintEvent(QPainter& painter),.cpp中写painter.begin(this),然后用painter调用函数,把painter传给其他类的paintEvent去绘图,程序绘图时会崩溃,报dll的错
但是如上做法,.h中不声明QPainter painter,函数声明写作void paintEvent(QPaintEvent *),实现中另外创建对象painter,就不会报错了
来源:https://blog.csdn.net/weixin_43266482/article/details/98739659