PyQt5 Label – Get Shadow effect object

In this article we will see how we can get shadow effect object of the label by default there is no shadow effect to the label although we can create shadow effect then add it to the label with the help of setGraphicsEffect method.
In order to do this we have to do the following – 1. Create a label 2. Set geometry to the label 3. Create a QGraphicsDropShadowEffect 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
Note : This object have same properties of the original object Syntax :
# creating a shadow effect color_effect = QGraphicsDropShadowEffect() # adding shadow effect to the label label.setGraphicsEffect(color_effect) # getting the shadow object object = label.graphicsEffect()
Below is the implementation
Python3
# importing librariesfrom PyQt5.QtWidgets import *from PyQt5 import QtCore, QtGuifrom PyQt5.QtGui import *from PyQt5.QtCore import *import sysclass 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 appApp = QApplication(sys.argv)# create the instance of our Windowwindow = Window()# start the appsys.exit(App.exec()) |
Output :




