首先,需要明确的是,QLabel内置了设置模糊半径的接口,但是需要将其背景设置为透明才可以展现出模糊的效果。
下面是具体的使用攻略及示例:
1. 创建QLabel对象并设置样式
首先,需要创建一个QLabel对象,并设置它的样式,这里需要注意的是,需要将QLabel的背景色设置为透明。
from PyQt5.QtWidgets import QLabel, QVBoxLayout, QWidget
label = QLabel()
label.setStyleSheet("background-color: transparent;")
2. 在QLabel中展示图片
如果想要在QLabel中展示图片,则需要使用QPixmap类,先将图片加载进来,然后使用setPixmap()方法将图片设置到QLabel中。
from PyQt5.QtGui import QPixmap
pixmap = QPixmap("example.jpg")
label.setPixmap(pixmap)
3. 设置模糊半径
接着,在QLabel中设置模糊半径,可以使用setGraphicsEffect()方法来设置QGraphicsBlurEffect。
from PyQt5.QtWidgets import QGraphicsBlurEffect
blur = QGraphicsBlurEffect()
blur.setBlurRadius(10)
label.setGraphicsEffect(blur)
这样,就将QLabel中的图片设置为了模糊效果。完整代码示例如下:
from PyQt5.QtGui import QPixmap
from PyQt5.QtWidgets import QVBoxLayout, QWidget, QLabel
from PyQt5.QtWidgets import QGraphicsBlurEffect
class MainWindow(QWidget):
def __init__(self):
super().__init__()
self.label = QLabel()
self.label.setStyleSheet("background-color: transparent;")
self.load_image()
self.set_blur_radius()
self.main_layout()
def main_layout(self):
layout = QVBoxLayout(self)
layout.addWidget(self.label)
def load_image(self):
pixmap = QPixmap("example.jpg")
self.label.setPixmap(pixmap)
def set_blur_radius(self):
blur = QGraphicsBlurEffect()
blur.setBlurRadius(10)
self.label.setGraphicsEffect(blur)
示例一:将整个窗口背景设置为模糊
def set_blur_radius(self):
blur = QGraphicsBlurEffect()
blur.setBlurRadius(10)
# 将整个窗口设置为模糊
self.setGraphicsEffect(blur)
示例二:将QLabel内展示的图片设置为模糊
def set_blur_radius(self):
blur = QGraphicsBlurEffect()
blur.setBlurRadius(10)
self.label.setGraphicsEffect(blur)
通过调用setBlurRadius()方法,可以设定模糊的半径,其中的参数值越大,图片就越模糊。
以上就是关于Python PyQt5中QLabel模糊效果的完整使用攻略。