In this article we will see how we can get opacity effect object of the label by default there is no opacity effect to the label although we can create opacity 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 QGraphicsOpacityEffect 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 opacity effect opacity_effect = QGraphicsOpacityEffect() # adding opacity effect to the label label.setGraphicsEffect(opacity_effect) # getting the opacity object object = label.graphicsEffect()
Below is the implementation
# 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 opacity effect self .opacity_effect = QGraphicsOpacityEffect() # setting opacity level self .opacity_effect.setOpacity( 0.3 ) # adding opacity effect to the label label.setGraphicsEffect( self .opacity_effect) # result label result = QLabel( self ) # setting geometry of the result label result.setGeometry( 200 , 200 , 300 , 30 ) # getting the opacity 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 ()) |
Output :