aboutsummaryrefslogtreecommitdiffstats
path: root/examples/widgets/effects/lighting.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/widgets/effects/lighting.py')
-rw-r--r--examples/widgets/effects/lighting.py63
1 files changed, 33 insertions, 30 deletions
diff --git a/examples/widgets/effects/lighting.py b/examples/widgets/effects/lighting.py
index cbaffb325..e319b5f66 100644
--- a/examples/widgets/effects/lighting.py
+++ b/examples/widgets/effects/lighting.py
@@ -2,7 +2,7 @@
#############################################################################
##
## Copyright (C) 2013 Riverbank Computing Limited.
-## Copyright (C) 2016 The Qt Company Ltd.
+## Copyright (C) 2021 The Qt Company Ltd.
## Contact: http://www.qt.io/licensing/
##
## This file is part of the Qt for Python examples of the Qt Toolkit.
@@ -41,16 +41,22 @@
#############################################################################
import math
+import sys
-from PySide6 import QtCore, QtGui, QtWidgets
+from PySide6.QtCore import QPointF, QTimer, Qt
+from PySide6.QtGui import (QBrush, QColor, QLinearGradient, QPainter, QPen,
+ QPixmap, QRadialGradient)
+from PySide6.QtWidgets import (QApplication, QFrame, QGraphicsDropShadowEffect,
+ QGraphicsEllipseItem, QGraphicsRectItem,
+ QGraphicsScene, QGraphicsView, QWidget)
-class Lighting(QtWidgets.QGraphicsView):
+class Lighting(QGraphicsView):
def __init__(self, parent=None):
super(Lighting, self).__init__(parent)
self.angle = 0.0
- self.m_scene = QtWidgets.QGraphicsScene()
+ self.m_scene = QGraphicsScene()
self.m_lightSource = None
self.m_items = []
@@ -58,33 +64,33 @@ class Lighting(QtWidgets.QGraphicsView):
self.setup_scene()
- timer = QtCore.QTimer(self)
+ timer = QTimer(self)
timer.timeout.connect(self.animate)
timer.setInterval(30)
timer.start()
- self.setRenderHint(QtGui.QPainter.Antialiasing)
- self.setFrameStyle(QtWidgets.QFrame.NoFrame)
+ self.setRenderHint(QPainter.Antialiasing)
+ self.setFrameStyle(QFrame.NoFrame)
def setup_scene(self):
self.m_scene.setSceneRect(-300, -200, 600, 460)
- linear_grad = QtGui.QLinearGradient(QtCore.QPointF(-100, -100),
- QtCore.QPointF(100, 100))
- linear_grad.setColorAt(0, QtGui.QColor(255, 255, 255))
- linear_grad.setColorAt(1, QtGui.QColor(192, 192, 255))
+ linear_grad = QLinearGradient(QPointF(-100, -100),
+ QPointF(100, 100))
+ linear_grad.setColorAt(0, QColor(255, 255, 255))
+ linear_grad.setColorAt(1, QColor(192, 192, 255))
self.setBackgroundBrush(linear_grad)
- radial_grad = QtGui.QRadialGradient(30, 30, 30)
- radial_grad.setColorAt(0, QtCore.Qt.yellow)
- radial_grad.setColorAt(0.2, QtCore.Qt.yellow)
- radial_grad.setColorAt(1, QtCore.Qt.transparent)
+ radial_grad = QRadialGradient(30, 30, 30)
+ radial_grad.setColorAt(0, Qt.yellow)
+ radial_grad.setColorAt(0.2, Qt.yellow)
+ radial_grad.setColorAt(1, Qt.transparent)
- pixmap = QtGui.QPixmap(60, 60)
- pixmap.fill(QtCore.Qt.transparent)
+ pixmap = QPixmap(60, 60)
+ pixmap.fill(Qt.transparent)
- painter = QtGui.QPainter(pixmap)
- painter.setPen(QtCore.Qt.NoPen)
+ painter = QPainter(pixmap)
+ painter.setPen(Qt.NoPen)
painter.setBrush(radial_grad)
painter.drawEllipse(0, 0, 60, 60)
painter.end()
@@ -95,14 +101,14 @@ class Lighting(QtWidgets.QGraphicsView):
for i in range(-2, 3):
for j in range(-2, 3):
if (i + j) & 1:
- item = QtWidgets.QGraphicsEllipseItem(0, 0, 50, 50)
+ item = QGraphicsEllipseItem(0, 0, 50, 50)
else:
- item = QtWidgets.QGraphicsRectItem(0, 0, 50, 50)
+ item = QGraphicsRectItem(0, 0, 50, 50)
- item.setPen(QtGui.QPen(QtCore.Qt.black, 1))
- item.setBrush(QtGui.QBrush(QtCore.Qt.white))
+ item.setPen(QPen(Qt.black, 1))
+ item.setBrush(QBrush(Qt.white))
- effect = QtWidgets.QGraphicsDropShadowEffect(self)
+ effect = QGraphicsDropShadowEffect(self)
effect.setBlurRadius(8)
item.setGraphicsEffect(effect)
item.setZValue(1)
@@ -119,8 +125,8 @@ class Lighting(QtWidgets.QGraphicsView):
for item in self.m_items:
effect = item.graphicsEffect()
- delta = QtCore.QPointF(item.x() - xs, item.y() - ys)
- effect.setOffset(QtCore.QPointF(delta.toPoint() / 30))
+ delta = QPointF(item.x() - xs, item.y() - ys)
+ effect.setOffset(QPointF(delta.toPoint() / 30))
dd = math.hypot(delta.x(), delta.y())
color = effect.color()
@@ -131,10 +137,7 @@ class Lighting(QtWidgets.QGraphicsView):
if __name__ == '__main__':
-
- import sys
-
- app = QtWidgets.QApplication(sys.argv)
+ app = QApplication(sys.argv)
lighting = Lighting()
lighting.setWindowTitle("Lighting and Shadows")