QGraphicsEffect改变图片透明度
时间: 2023-06-13 15:04:40 浏览: 86
可以使用QGraphicsOpacityEffect类来改变QGraphicsItem的透明度。以下是一个简单的例子:
```python
from PyQt5.QtWidgets import QGraphicsScene, QGraphicsView, QGraphicsPixmapItem
from PyQt5.QtGui import QPixmap, QColor, QTransform, QPainter
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QApplication
from PyQt5.QtGui import QGraphicsOpacityEffect
import sys
app = QApplication(sys.argv)
# 创建一个场景
scene = QGraphicsScene()
# 创建一个QGraphicsPixmapItem对象
pixmap = QPixmap("image.png")
item = QGraphicsPixmapItem(pixmap)
item.setPos(0, 0)
# 创建QGraphicsOpacityEffect对象并设置透明度
opacity_effect = QGraphicsOpacityEffect()
opacity_effect.setOpacity(0.5)
# 将QGraphicsOpacityEffect对象设置为item的特效
item.setGraphicsEffect(opacity_effect)
# 添加item到场景中
scene.addItem(item)
# 创建一个视图并设置场景
view = QGraphicsView(scene)
# 显示视图
view.show()
sys.exit(app.exec_())
```
在上面的例子中,我们创建了一个场景,并将一个QGraphicsPixmapItem对象添加到场景中。然后,我们创建了一个QGraphicsOpacityEffect对象,并将其设置为0.5的透明度。接下来,我们将QGraphicsOpacityEffect对象设置为item的特效,并将item添加到场景中。最后,我们创建了一个QGraphicsView对象,并将场景设置为视图的场景,并显示视图。
运行程序后,你会看到我们的图片半透明的显示在视图中。
阅读全文