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 dropEvent(self, event): super().dropEvent(event)
[docs] def dragLeaveEvent(self, event): super().dragLeaveEvent(event)
[docs] def dragMoveEvent(self, event): super().dragMoveEvent(event)
[docs] def mouseMoveEvent(self, event): self.setStyleSheet('background-color: yellow;') self.update() super(QDropShadowWidget, self).mouseMoveEvent(event)
[docs] def enterEvent(self, event): super(QDropShadowWidget, self).enterEvent(event)
[docs] def mousePressEvent(self, event): self.setStyleSheet('background-color: white;') self.update() super(QDropShadowWidget, self).mousePressEvent(event)