QImage image(
reinterpret_cast<uchar*>(screen_capture_sourceinfo_.thumb.buffer),
screen_capture_sourceinfo_.thumb.width,
screen_capture_sourceinfo_.thumb.height, QImage::Format_ARGB32);
原因:QImage使用的是浅拷贝,如果screen_capture_sourceinfo_.thumb.buffer中的地址被提前释放掉,QImage的buffer所指的内存空间也将不复存在,所以会导致程序崩溃。
解决办法:为screen_capture_sourceinfo_.thumb.buffer在堆上申请数据,在使用QImage之前不能将其释放掉,在使用完QImage以后需要使用delete或者free方法将Qimage释放掉。