本文主要是解決Qt中QGraphicsAbstractShapeItem,QPixmap,QPainter等組件的透明化顯示問題。
在Qt中定義了一個常量,用於設置透明的顏色,即Qt::transparent,表示RGBA值為(0,0,0,0)的透明色。
在QGraphicsAbstractShapeItem的集成類中,可以把某些部分畫成Qt::transparent來設置透明。
在QPainter中,可以通過setBackgroundMode()選擇兩種不同的背景模式,一種是Qt::TransparentMode,另外一種是Qt::OpaqueMode。在Qt::TransparentMode模式下,背景本身就是透明的,此時QPainter的setBackground()函數不起作用;在Qt::OpaqueMode模式下,通過QPainter的setBackground()函數來設置QPainter類對象的背景色,在此模式下,也可以設置背景色為Qt::transparent。
有時,我們要把QPainter畫到QPixmap中以防止閃爍。如果需要設置QPixmap的透明,可以先用QPixmap的fill()函數先把場景設置成透明的(fill(Qt::transparent) )。
QImage::fill ( uint pixelValue)
試試用這個填充透明色。
theImage.fill(qRgba(255,255,255,0));
http://www.cnblogs.com/cainiaoaixuexi/p/3238092.html
http://blog.csdn.net/u012234115/article/details/43778855
http://blog.csdn.net/yiyaaixuexi/article/details/6362865
http://www.qtcn.org/bbs/simple/?t54707.html