From 1cf5d6d13b7edbbc60a162b237731fcfcdc63daf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cristi=C3=A1n=20Maureira-Fredes?= Date: Tue, 2 Aug 2022 14:30:44 +0200 Subject: examples: add DigitalClock example This is a port of the Digital Clock Example, with a little modification to include seconds. Pick-to: 6.2 6.3 Task-number: PYSIDE-841 Change-Id: I99c36dd4a542f4aa19af2bce90e08bc941a181e7 Reviewed-by: Friedemann Kleint --- examples/widgets/digitalclock/digitalclock.py | 41 +++++++++++++++++++++ .../widgets/digitalclock/digitalclock.pyproject | 3 ++ .../digitalclock/doc/digitalclock-screenshot.png | Bin 0 -> 726 bytes examples/widgets/digitalclock/doc/digitalclock.rst | 12 ++++++ 4 files changed, 56 insertions(+) create mode 100644 examples/widgets/digitalclock/digitalclock.py create mode 100644 examples/widgets/digitalclock/digitalclock.pyproject create mode 100644 examples/widgets/digitalclock/doc/digitalclock-screenshot.png create mode 100644 examples/widgets/digitalclock/doc/digitalclock.rst (limited to 'examples/widgets') diff --git a/examples/widgets/digitalclock/digitalclock.py b/examples/widgets/digitalclock/digitalclock.py new file mode 100644 index 000000000..f0030b356 --- /dev/null +++ b/examples/widgets/digitalclock/digitalclock.py @@ -0,0 +1,41 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause +import sys + +from PySide6.QtCore import QTime, QTimer, Slot +from PySide6.QtWidgets import QApplication, QLCDNumber + + +class DigitalClock(QLCDNumber): + def __init__(self, parent=None): + super().__init__(parent) + self.setSegmentStyle(QLCDNumber.Filled) + self.setDigitCount(8) + + self.timer = QTimer(self) + self.timer.timeout.connect(self.show_time) + self.timer.start(1000) + + self.show_time() + + self.setWindowTitle("Digital Clock") + self.resize(250, 60) + + @Slot() + def show_time(self): + time = QTime.currentTime() + text = time.toString("hh:mm:ss") + + # Blinking effect + if (time.second() % 2) == 0: + text = text.replace(":", " ") + + self.display(text) + + +if __name__ == "__main__": + + app = QApplication(sys.argv) + clock = DigitalClock() + clock.show() + sys.exit(app.exec()) diff --git a/examples/widgets/digitalclock/digitalclock.pyproject b/examples/widgets/digitalclock/digitalclock.pyproject new file mode 100644 index 000000000..03c3b6bb7 --- /dev/null +++ b/examples/widgets/digitalclock/digitalclock.pyproject @@ -0,0 +1,3 @@ +{ + "files": ["digitalclock.py"] +} diff --git a/examples/widgets/digitalclock/doc/digitalclock-screenshot.png b/examples/widgets/digitalclock/doc/digitalclock-screenshot.png new file mode 100644 index 000000000..2234d7665 Binary files /dev/null and b/examples/widgets/digitalclock/doc/digitalclock-screenshot.png differ diff --git a/examples/widgets/digitalclock/doc/digitalclock.rst b/examples/widgets/digitalclock/doc/digitalclock.rst new file mode 100644 index 000000000..ef800d9c0 --- /dev/null +++ b/examples/widgets/digitalclock/doc/digitalclock.rst @@ -0,0 +1,12 @@ +Digital Clock Example +===================== + +The Digital Clock example shows how to use QLCDNumber to display a number with +LCD-like digits. + +.. image:: digitalclock-screenshot.png + :width: 400 + :alt: Digital Clock Screenshot + +This example also demonstrates how QTimer can be used to update a widget at +regular intervals. -- cgit v1.2.3