Qt中实现图片透明度设置与显示

时间:2025-01-24 12:12:38

在使用QGraphicsScene过程中,想要实现背景和前景图层叠加显示,需要设置对应层绘图的透明度的设置。采用重写drawBackground(QPainter *painter, const QRectF &rect)和drawForeground(QPainter *painter, const QRectF &rect)事件实现。类似的,QPainter的setOpacity()方法可以在相关控件绘制图片时使用,设置图片透明度。

drawForeground(QPainter *painter, const QRectF &rect)
{
	QPixmap foreImg;
	("C:/Users/Desktop/");
	if (!())
	{
		painter->setOpacity(0.4);//透明度设置
		painter->drawPixmap(int(sceneRect().left()), int(sceneRect().top()), foreImg);	
   	}

}
drawBackground(QPainter *painter, const QRectF &rect)
{
	QPixmap foreImg;
	("C:/Users/Desktop/");
	if (!())
	{
		painter->setOpacity(0.9);//透明度设置
		painter->drawPixmap(int(sceneRect().left()), int(sceneRect().top()), foreImg);	
  	}
}