diff options
Diffstat (limited to 'examples/widgets/effects/lighting.py')
-rw-r--r-- | examples/widgets/effects/lighting.py | 63 |
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") |