PyQt5是Python的GUI开发工具包之一,提供了丰富的界面控件。其中标签(QLabel)是最常用的控件之一,可用于显示文本和图片等。在PyQt5中,标签支持设置阴影,可以使用“setGraphicsEffect”函数来设置阴影效果。其中,垂直偏移量(vOffset)是阴影相对于标签的垂直距离。下面将详细介绍如何使用PyQt5的标签设定阴影。
设置垂直偏移量的方法
语法
QLabel.setGraphicsEffect(effect)
参数
- effect: QGraphicsEffect对象,表示阴影效果。
示例一
以下代码展示如何创建一个带阴影的标签,并设置垂直偏移量为30像素:
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QGraphicsDropShadowEffect
app = QApplication(sys.argv)
label = QLabel('Hello, world!')
shadow = QGraphicsDropShadowEffect()
shadow.setBlurRadius(10)
shadow.setXOffset(10)
shadow.setYOffset(30)
label.setGraphicsEffect(shadow)
label.show()
sys.exit(app.exec_())
示例二
以下代码展示如何为多个标签添加相同的阴影效果,并设置不同的垂直偏移量:
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QGraphicsDropShadowEffect, QVBoxLayout, QWidget
app = QApplication(sys.argv)
widget = QWidget()
layout = QVBoxLayout()
for i in range(3):
label = QLabel('Label %d' % i)
shadow = QGraphicsDropShadowEffect()
shadow.setBlurRadius(10)
shadow.setXOffset(10)
shadow.setYOffset(10 * i)
label.setGraphicsEffect(shadow)
layout.addWidget(label)
widget.setLayout(layout)
widget.show()
sys.exit(app.exec_())
以上两个例子中,都创建一个QGraphicsDropShadowEffect对象,并设置其模糊半径(blurRadius)、水平偏移量(xOffset)和垂直偏移量(yOffset),然后将其作为参数传递给setGraphicsEffect函数,以应用阴影效果。
但需要注意的是,阴影效果可能会对程序性能产生影响,在使用时需谨慎。