From 2db5a72661c404fde82c1ff6ef400b85f1c39f43 Mon Sep 17 00:00:00 2001 From: "mehran@Novin" Date: Mon, 30 Aug 2021 18:08:08 +0430 Subject: [PATCH] Added ExtendedScreenQML --- .gitignore | 1 + ExtendScreenQML/ExtendScreenQML.pro | 30 ++++++++++++++ ExtendScreenQML/main.cpp | 22 +++++++++++ ExtendScreenQML/main.qml | 61 +++++++++++++++++++++++++++++ ExtendScreenQML/qml.qrc | 5 +++ 5 files changed, 119 insertions(+) create mode 100644 .gitignore create mode 100644 ExtendScreenQML/ExtendScreenQML.pro create mode 100644 ExtendScreenQML/main.cpp create mode 100644 ExtendScreenQML/main.qml create mode 100644 ExtendScreenQML/qml.qrc diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..75c107b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.pro.user diff --git a/ExtendScreenQML/ExtendScreenQML.pro b/ExtendScreenQML/ExtendScreenQML.pro new file mode 100644 index 0000000..8a96387 --- /dev/null +++ b/ExtendScreenQML/ExtendScreenQML.pro @@ -0,0 +1,30 @@ +QT += quick + +CONFIG += c++11 + +# The following define makes your compiler emit warnings if you use +# any Qt feature that has been marked deprecated (the exact warnings +# depend on your compiler). Refer to the documentation for the +# deprecated API to know how to port your code away from it. +DEFINES += QT_DEPRECATED_WARNINGS + +# You can also make your code fail to compile if it uses deprecated APIs. +# In order to do so, uncomment the following line. +# You can also select to disable deprecated APIs only up to a certain version of Qt. +#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0 + +SOURCES += \ + main.cpp + +RESOURCES += qml.qrc + +# Additional import path used to resolve QML modules in Qt Creator's code model +QML_IMPORT_PATH = + +# Additional import path used to resolve QML modules just for Qt Quick Designer +QML_DESIGNER_IMPORT_PATH = + +# Default rules for deployment. +qnx: target.path = /tmp/$${TARGET}/bin +else: unix:!android: target.path = /usr/sbin/novin/ +!isEmpty(target.path): INSTALLS += target diff --git a/ExtendScreenQML/main.cpp b/ExtendScreenQML/main.cpp new file mode 100644 index 0000000..6569361 --- /dev/null +++ b/ExtendScreenQML/main.cpp @@ -0,0 +1,22 @@ +#include +#include +#include + +int main(int argc, char *argv[]) +{ + QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling); + + QGuiApplication app(argc, argv); + + QQmlApplicationEngine engine; + + const QUrl url(QStringLiteral("qrc:/main.qml")); + QObject::connect(&engine, &QQmlApplicationEngine::objectCreated, + &app, [url](QObject *obj, const QUrl &objUrl) { + if (!obj && url == objUrl) + QCoreApplication::exit(-1); + }, Qt::QueuedConnection); + engine.load(url); + + return app.exec(); +} diff --git a/ExtendScreenQML/main.qml b/ExtendScreenQML/main.qml new file mode 100644 index 0000000..47a4a0e --- /dev/null +++ b/ExtendScreenQML/main.qml @@ -0,0 +1,61 @@ +import QtQuick 2.12 +import QtQuick.Controls 2.12 +import QtQuick.Window 2.12 + +Item{ + + Loader{ + sourceComponent: ApplicationWindow{ + visible: true + screen: Qt.application.screens[0] + + Component.onCompleted: { + showFullScreen() + } + + Label{ + anchors.centerIn: parent + font.pointSize: 24 + text: "2" + } + + Button{ + anchors.verticalCenterOffset: 24 + anchors.centerIn: parent + text: "Test Button" + onClicked: { + visible= false + } + } + } + } + + + Loader{ + sourceComponent: ApplicationWindow{ + visible: true + screen: Qt.application.screens[1] + + Component.onCompleted: { + showFullScreen() + } + + Label{ + anchors.centerIn: parent + font.pointSize: 24 + text: "1" + } + + Button{ + anchors.verticalCenterOffset: 24 + anchors.centerIn: parent + text: "Test Button" + onClicked: { + visible= false + } + } + } + } + + +} diff --git a/ExtendScreenQML/qml.qrc b/ExtendScreenQML/qml.qrc new file mode 100644 index 0000000..5f6483a --- /dev/null +++ b/ExtendScreenQML/qml.qrc @@ -0,0 +1,5 @@ + + + main.qml + +