PyQt5标签–根据用户情况使阴影消失
在这篇文章中,我们将看到如何使阴影根据用户的需要而消失在标签上。当用户选中单选按钮时,阴影将显示并消失,当单选按钮未被选中时,阴影将出现。
为了做到这一点,我们使用setEnabled方法
语法: shadow.setEnabled(bool)
参数: 它需要bool作为参数
返回: 无
下面是实现方法
# 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 alignment
label.setAlignment(Qt.AlignCenter)
# setting geometry to the label
label.setGeometry(200, 100, 150, 60)
# setting border
label.setStyleSheet("border : 8px solid black")
# creating a QGraphicsDropShadowEffect object
self.shadow = QGraphicsDropShadowEffect()
# setting blur radius
self.shadow.setBlurRadius(30)
# setting Xoffset
self.shadow.setOffset(10)
# adding shadow to the label
label.setGraphicsEffect(self.shadow)
# creating radio button
self.button = QRadioButton("Hide Shadow", self)
# setting geometry to the radio button
self.button.setGeometry(200, 200, 100, 40)
# adding action to the button
self.button.clicked.connect(self.hide_shadow)
def hide_shadow(self):
if self.button.isChecked():
# making shadow off
self.shadow.setEnabled(False)
else:
# making shadow off
self.shadow.setEnabled(True)
# create pyqt5 app
App = QApplication(sys.argv)
# create the instance of our Window
window = Window()
# start the app
sys.exit(App.exec())