PyQt5标签 – 设置阴影的垂直偏移量

  • Post category:Python

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函数,以应用阴影效果。

但需要注意的是,阴影效果可能会对程序性能产生影响,在使用时需谨慎。