Solved QPainter removes last QImage data in next function call
-
I defined a QList of QImage in a class header,
(class.h)
QList<QImage> imageList;
and when call a function in that class it creates a new
QImage
and append that inimageList
that i defined in headerQImage printFace( 2100 , 2970 , QImage::Format_RGBA64_Premultiplied );
imageList.append(printFace);
and after that i create a
QPainter
on lastQImage
that i added inimageList
QPainter painter(&imageList.last());
and i draw a new image on
painter
painter.drawImage(50, 50 ,image1)
Everything is right up to here.
My problem is:
when i call that function agane and draw new image with distance (free space) the last image i draw disappears.painter.drawImage(50, 200 ,image1)
Note that i call that function in a loop in one clone (object) of that class and not a fresh object
-
@mmjvox
Hi
Do you mean that the last image you draw on the QImage in the list, is
overwritten when you draw on it again or in what way disappears ? -
@mrjj yes
-
@mmjvox
That sounds odd as QPainter painter(&imageList.last());
should not clear it or anything as far as i know.And you checked that it really is the same image as last time ?
I see no fillRect or anything that should clear it so i think its somewhere else in the code
than listed here. -
@mrjj
THANKS
I see no fillRect or anything
if you didnt say that, I never remembered that in my codes i usedfillRect
.
i copied some code from my other project and i forgot to remove that
and when i post my problem i only list Important parts or the parts I thought were wrong -
@mmjvox
Oh thats great. Sometimes one can be lucky :)
Well you did right. Its good to reduce the code to the parts that might matter.