From 5653cbef88021cd57b4fc212fbaf50a60c75cb7e Mon Sep 17 00:00:00 2001 From: Schnitzel Date: Wed, 10 Jul 2024 16:21:26 +0200 Subject: [PATCH] nativ: new LoginScreen.qml main.qml add Button to open LoginScreen --- native/CMakeLists.txt | 2 + native/CMakeLists.txt.user | 2 +- native/LoginScreen.qml | 63 +++++++++++++++++++++++++++ native/Main.qml | 23 +++++++++- native/Main.qml.autosave | 87 ++++++++++++++++++++++++++++++++++++++ 5 files changed, 174 insertions(+), 3 deletions(-) create mode 100644 native/LoginScreen.qml create mode 100644 native/Main.qml.autosave diff --git a/native/CMakeLists.txt b/native/CMakeLists.txt index 4e9dd13..1881dba 100644 --- a/native/CMakeLists.txt +++ b/native/CMakeLists.txt @@ -19,9 +19,11 @@ qt_add_qml_module(alisa Main.qml Data.qml Test.qml + LoginScreen.qml RESOURCES Assets/Icons/turbo.svg + ) set_target_properties(alisa PROPERTIES diff --git a/native/CMakeLists.txt.user b/native/CMakeLists.txt.user index cc87636..3ccc237 100644 --- a/native/CMakeLists.txt.user +++ b/native/CMakeLists.txt.user @@ -1,6 +1,6 @@ - + EnvironmentId diff --git a/native/LoginScreen.qml b/native/LoginScreen.qml new file mode 100644 index 0000000..c51a224 --- /dev/null +++ b/native/LoginScreen.qml @@ -0,0 +1,63 @@ +import QtQuick +import QtQuick.Window +import Qt.labs.qmlmodels + +Window { + width: 400 + height: 400 + visible: true + + TableView { + anchors.fill: parent + columnSpacing: 1 + rowSpacing: 1 + boundsBehavior: Flickable.StopAtBounds + + model: TableModel { + TableModelColumn { display: "checked" } + TableModelColumn { display: "amount" } + TableModelColumn { display: "fruitType" } + TableModelColumn { display: "fruitName" } + TableModelColumn { display: "fruitPrice" } + + // Each row is one type of fruit that can be ordered + rows: [ + { + // Each property is one cell/column. + checked: false, + amount: 1, + fruitType: "Apple", + fruitName: "Granny Smith", + fruitPrice: 1.50 + }, + { + checked: true, + amount: 4, + fruitType: "Orange", + fruitName: "Navel", + fruitPrice: 2.50 + }, + { + checked: false, + amount: 1, + fruitType: "Banana", + fruitName: "Cavendish", + fruitPrice: 3.50 + } + ] + } + delegate: TextInput { + text: model.display + padding: 12 + selectByMouse: true + + onAccepted: model.display = text + + Rectangle { + anchors.fill: parent + color: "#efefef" + z: -1 + } + } + } +} diff --git a/native/Main.qml b/native/Main.qml index 3f6a516..42ce906 100644 --- a/native/Main.qml +++ b/native/Main.qml @@ -55,11 +55,12 @@ Window { } } Button { + id: testB anchors { bottom: parent.bottom - right: parent.right + left: parent.left } - text: qsTr("Click me") + text: qsTr("Test Window") onClicked: { var component = Qt.createComponent("Test.qml") @@ -67,4 +68,22 @@ Window { window.show() } } + Button { + id: loginScreenB + anchors { + left: testB.right + bottom: parent.bottom + + + + + } + text: qsTr("Login Screen") + onClicked: { + var component = Qt.createComponent("LoginScreen.qml") + var window = component.createObject(root) + window.show() + } + + } } diff --git a/native/Main.qml.autosave b/native/Main.qml.autosave new file mode 100644 index 0000000..5549953 --- /dev/null +++ b/native/Main.qml.autosave @@ -0,0 +1,87 @@ +import QtQuick +import QtQuick.Window +import QtQuick.Layouts +import QtQuick.Controls 2.15 + +Window { + SystemPalette { id: activeColors; colorGroup: SystemPalette.Active } + SystemPalette { id: inactiveColors; colorGroup: SystemPalette.Inactive } + SystemPalette { id: disabledColors; colorGroup: SystemPalette.Disabled } + + function getColors() { + return root.active ? activeColors : inactiveColors; + } + + id: root + width: 640 + height: 480 + visible: true + color: getColors().window + + title: qsTr("Alisa - License Managment") + + Rectangle { + id: s1 + anchors { + top: parent.top + left: parent.left + right: parent.right + } + height: 400 + border.width: 5 + border.color: getColors().accent + color: getColors().midlight + } + + TableView { + anchors.fill: parent + + columnSpacing: 1 + rowSpacing: 1 + clip: true + + model: Data {} + delegate: Rectangle { + color: getColors().base + implicitWidth: 100 + implicitHeight: 50 + border.width: 1 + + Text { + text: display + color: getColors().text + anchors.centerIn: parent + } + } + } + Button { + id: testB + anchors { + bottom: parent.bottom + left: parent.left + } + text: qsTr("Test Window") + + onClicked: { + var component = Qt.createComponent("Test.qml") + var window = component.createObject(root) + window.show() + } + } + Button { + id: loginScreenB + anchors { + left: testB.right + bottom: parent.bottom + + + } + text: qsTr("Login Screen") + onClicked: { + var component = Qt.createComponent("LoginScreen.qml") + var window = component.createObject(root) + window.show() + } + + } +}