Source code for test_plugin.QDropShadowWidget
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QColor, QDragEnterEvent, QDropEvent
from PyQt5.QtWidgets import QGraphicsDropShadowEffect, QGridLayout
[docs]class QDropShadowWidget(QtWidgets.QWidget):
def __init__(self, parent=None):
if parent is None:
super().__init__()
else:
super().__init__(parent=parent)
self.setFixedSize(150, 150)
# gl = QGridLayout()
# self.setLayout(gl)
shadow = QGraphicsDropShadowEffect(blurRadius=5, xOffset=5, yOffset=5)
shadow.setColor(QColor(0, 0, 0, 77))
self.setGraphicsEffect(shadow)
self.setAttribute(Qt.WA_StyledBackground, True)
self.setStyleSheet('background-color: red;')
# self.setAttribute(Qt.Widget())
self.setWindowFlags(Qt.Widget)
[docs] def dragEnterEvent(self, event):
self.setStyleSheet('background-color: blue;')
self.update()
super(QDropShadowWidget, self).dragEnterEvent(event)
[docs] def mouseMoveEvent(self, event):
self.setStyleSheet('background-color: yellow;')
self.update()
super(QDropShadowWidget, self).mouseMoveEvent(event)
[docs] def mousePressEvent(self, event):
self.setStyleSheet('background-color: white;')
self.update()
super(QDropShadowWidget, self).mousePressEvent(event)