En este artículo, veremos cómo podemos obtener el objeto de efecto de sombra de la etiqueta de forma predeterminada. No hay efecto de sombra en la etiqueta, aunque podemos crear un efecto de sombra y luego agregarlo a la etiqueta con la ayuda del setGraphicsEffect
método.
Para hacer esto tenemos que hacer lo siguiente –
1. Cree una etiqueta
2. Establezca geometría en la etiqueta
3. Cree un objeto QGraphicsDropShadowEffec
4. Agregue este objeto a la etiqueta con la ayuda del método setGraphicsEffect
5. Obtenga el objeto de opacidad con la ayuda del método graphicsEffect
Nota: este objeto tiene las mismas propiedades que el objeto original
Sintaxis:
# creating a shadow effect color_effect = QGraphicsDropShadowEffec() # adding shadow effect to the label label.setGraphicsEffect(color_effect) # getting the shadow object object = label.graphicsEffect()
A continuación se muestra la implementación.
# 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())
Producción :
Publicación traducida automáticamente
Artículo escrito por rakshitarora y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA