下面我将详细解释如何在PyQt5中使用标签并添加阴影效果。
标签的基本使用
在PyQt5中,标签是展示静态文本信息的常用控件,其使用方法十分简单。
首先需要导入PyQt5库:
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
然后,我们可以通过创建QLabel的实例来创建标签:
label = QLabel('Hello world', self)
其中,第一个参数为标签中需要展示的文本,第二个参数为标签所在的父控件。
接下来,我们可以通过调用setLabel()方法来为标签添加样式和设置字体大小:
label.setStyleSheet('font-size: 18px; color: red;')
最后,我们需要将标签添加到窗口中的布局中方可显示出来:
self.layout.addWidget(label)
这样就创建了一个简单的标签。
添加阴影效果
要为标签添加阴影效果,我们需要使用QGraphicsDropShadowEffect类。
首先需要导入该类:
from PyQt5.QtGui import QGraphicsDropShadowEffect
然后,我们可以通过创建QGraphicsDropShadowEffect的实例来添加阴影效果:
shadow = QGraphicsDropShadowEffect()
shadow.setBlurRadius(5)
shadow.setColor(QColor(0, 0, 0, 80))
shadow.setOffset(0, 0)
label.setGraphicsEffect(shadow)
其中,setBlurRadius()设置阴影模糊半径,setColor()设置阴影颜色和透明度,setOffset()设置阴影位置,上面的例子中阴影位置未发生偏移,最后用setGraphicsEffect()方法将阴影效果添加到标签中。
完整的代码示例:
from PyQt5.QtWidgets import QApplication, QWidget, QLabel
from PyQt5.QtGui import QColor, QGraphicsDropShadowEffect
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(300, 300, 300, 200)
self.setWindowTitle('Shadow Example')
label1 = QLabel('Hello world', self)
label1.setStyleSheet('font-size: 18px; color: red;')
label1.move(20, 20)
label2 = QLabel('Hello world', self)
label2.setStyleSheet('font-size: 18px; color: blue;')
label2.move(20, 60)
shadow = QGraphicsDropShadowEffect()
shadow.setBlurRadius(5)
shadow.setColor(QColor(0, 0, 0, 80))
shadow.setOffset(0, 0)
label2.setGraphicsEffect(shadow)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
这里给出了两个标签,其中一个是普通标签,另一个添加了阴影效果。
希望这份PyQt5标签 -添加阴影的完整使用攻略能够对你有所帮助。