diff options
Diffstat (limited to 'tests/manual/examples/widgets/widgets/digitalclock')
5 files changed, 118 insertions, 0 deletions
diff --git a/tests/manual/examples/widgets/widgets/digitalclock/CMakeLists.txt b/tests/manual/examples/widgets/widgets/digitalclock/CMakeLists.txt new file mode 100644 index 0000000000..04d9c53ed3 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/digitalclock/CMakeLists.txt @@ -0,0 +1,37 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +cmake_minimum_required(VERSION 3.16) +project(digitalclock LANGUAGES CXX) + +if(NOT DEFINED INSTALL_EXAMPLESDIR) + set(INSTALL_EXAMPLESDIR "examples") +endif() + +set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/widgets/widgets/digitalclock") + +find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets) + +qt_standard_project_setup() + +qt_add_executable(digitalclock + digitalclock.cpp digitalclock.h + main.cpp +) + +set_target_properties(digitalclock PROPERTIES + WIN32_EXECUTABLE TRUE + MACOSX_BUNDLE TRUE +) + +target_link_libraries(digitalclock PRIVATE + Qt6::Core + Qt6::Gui + Qt6::Widgets +) + +install(TARGETS digitalclock + RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}" + BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}" + LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}" +) diff --git a/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.cpp b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.cpp new file mode 100644 index 0000000000..4eec982c25 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.cpp @@ -0,0 +1,36 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include "digitalclock.h" + +#include <QTime> +#include <QTimer> + +//! [0] +DigitalClock::DigitalClock(QWidget *parent) + : QLCDNumber(parent) +{ + setSegmentStyle(Filled); + + QTimer *timer = new QTimer(this); + connect(timer, &QTimer::timeout, this, &DigitalClock::showTime); + timer->start(1000); + + showTime(); + + setWindowTitle(tr("Digital Clock")); + resize(150, 60); +} +//! [0] + +//! [1] +void DigitalClock::showTime() +//! [1] //! [2] +{ + QTime time = QTime::currentTime(); + QString text = time.toString("hh:mm"); + if ((time.second() % 2) == 0) + text[2] = ' '; + display(text); +} +//! [2] diff --git a/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.h b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.h new file mode 100644 index 0000000000..7b028cb06e --- /dev/null +++ b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.h @@ -0,0 +1,22 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#ifndef DIGITALCLOCK_H +#define DIGITALCLOCK_H + +#include <QLCDNumber> + +//! [0] +class DigitalClock : public QLCDNumber +{ + Q_OBJECT + +public: + DigitalClock(QWidget *parent = nullptr); + +private slots: + void showTime(); +}; +//! [0] + +#endif diff --git a/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.pro b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.pro new file mode 100644 index 0000000000..4e4bc0f557 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/digitalclock/digitalclock.pro @@ -0,0 +1,9 @@ +QT += widgets + +HEADERS = digitalclock.h +SOURCES = digitalclock.cpp \ + main.cpp + +# install +target.path = $$[QT_INSTALL_EXAMPLES]/widgets/widgets/digitalclock +INSTALLS += target diff --git a/tests/manual/examples/widgets/widgets/digitalclock/main.cpp b/tests/manual/examples/widgets/widgets/digitalclock/main.cpp new file mode 100644 index 0000000000..d930e72f23 --- /dev/null +++ b/tests/manual/examples/widgets/widgets/digitalclock/main.cpp @@ -0,0 +1,14 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause + +#include <QApplication> + +#include "digitalclock.h" + +int main(int argc, char *argv[]) +{ + QApplication app(argc, argv); + DigitalClock clock; + clock.show(); + return app.exec(); +} |