因为个人觉得QT提供的抗锯齿效果没有cairo的好,gtk不如qt流行,Qt支持cairo
首先创建一张图QImage
m_imagePix = new QImage(e->rect().width(),e->rect().height(),QImage::Format_ARGB32);
其次将此图转换为cairo图
unsigned char* pData =m_imagePix->bits();
int iLineStride = m_imagePix->bytesPerLine();
m_CairoSurface = cairo_image_surface_create_for_data
(pData,CAIRO_FORMAT_ARGB32,m_imagePix->width(),m_imagePix->height(),iLineStride);
cairo_surface_set_device_scale(m_CairoSurface,1,1);
m_cr_main = cairo_create(m_CairoSurface);
关于cairo库的使用就不介绍了,使用m_cr_main就可以画图了,画图结束通过 pp.drawImage(0,0,*m_imagePix,0,0,-1,-1);进行贴图就可以了