PyQt5 Label - 获取阴影效果对象
在本文中,我们将看到如何获取标签的阴影效果对象,默认情况下标签没有阴影效果,尽管我们可以创建阴影效果,然后在setGraphicsEffect
方法的帮助下将其添加到标签中。
In order to do this we have to do the following –
1. Create a label
2. Set geometry to the label
3. Create a QGraphicsDropShadowEffec object
4. Add this object to the label with the help of setGraphicsEffect method
5. Get the opacity object with the help of graphicsEffect method
注意:此对象与原始对象具有相同的属性
句法 :
# creating a shadow effect
color_effect = QGraphicsDropShadowEffec()
# adding shadow effect to the label
label.setGraphicsEffect(color_effect)
# getting the shadow object
object = label.graphicsEffect()
下面是实现
# importing libraries
from PyQt5.QtWidgets import *
from PyQt5 import QtCore, QtGui
from PyQt5.QtGui import *
from PyQt5.QtCore import *
import sys
class Window(QMainWindow):
def __init__(self):
super().__init__()
# setting title
self.setWindowTitle("Python ")
# setting geometry
self.setGeometry(100, 100, 600, 400)
# calling method
self.UiComponents()
# showing all the widgets
self.show()
# method for widgets
def UiComponents(self):
# creating label
label = QLabel("Label", self)
# setting geometry to the label
label.setGeometry(200, 100, 150, 60)
# setting alignment to the label
label.setAlignment(Qt.AlignCenter)
# setting font
label.setFont(QFont('Arial', 15))
# setting style sheet of the label
label.setStyleSheet("QLabel"
"{"
"border : 2px solid green;"
"background : lightgreen;"
"}")
# creating a shadow effect
self.shadow_effect = QGraphicsDropShadowEffect()
# adding shadow effect to the label
label.setGraphicsEffect(self.shadow_effect)
# result label
result = QLabel(self)
# setting geometry of the result label
result.setGeometry(200, 200, 300, 30)
# getting the shadow object
object = label.graphicsEffect()
# setting text to the result label
result.setText(str(object))
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())
输出 :