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 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
注意:此对象与原始对象具有相同的属性
句法 :
# creating a opacity effect
opacity_effect = QGraphicsOpacityEffect()
# adding opacity effect to the label
label.setGraphicsEffect(opacity_effect)
# getting the opacity 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 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())
输出 :