add book
This commit is contained in:
189
Qt6QMLBeginnersCode/13-Storage/4-SaveTheStates/Main.qml
Normal file
189
Qt6QMLBeginnersCode/13-Storage/4-SaveTheStates/Main.qml
Normal file
@@ -0,0 +1,189 @@
|
||||
// Copyright (c) Daniel Gakwaya.
|
||||
// SPDX-License-Identifier: MIT
|
||||
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtCore
|
||||
Window {
|
||||
visible: true
|
||||
width: 640
|
||||
height: 480
|
||||
title: qsTr("Custom Settings Demo")
|
||||
|
||||
Rectangle {
|
||||
id: containerRectId
|
||||
anchors.fill: parent
|
||||
|
||||
Rectangle {
|
||||
id: skyId
|
||||
width: parent.width
|
||||
height: 200
|
||||
//color : "blue"
|
||||
gradient: Gradient {
|
||||
GradientStop {id: skyStartColorId; position: 0.0; color: "blue" }
|
||||
GradientStop {id: skyEndColorId; position: 1.0; color: "#66CCFF" }
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id: groundId
|
||||
anchors.top: skyId.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
width: parent.width
|
||||
//color: "lime"
|
||||
gradient: Gradient {
|
||||
GradientStop {id: groundStartColorId; position: 0.0; color: "lime" }
|
||||
GradientStop {id: groundEndColorId; position: 1.0; color: "#66CCFF" }
|
||||
}
|
||||
}
|
||||
|
||||
Image {
|
||||
id: treespringId
|
||||
x: 50
|
||||
y: 100
|
||||
width: 200
|
||||
height: 300
|
||||
source: "qrc:/images/treespringsmall.png"
|
||||
}
|
||||
Image {
|
||||
id: treeSummerId
|
||||
x: 50
|
||||
y: 100
|
||||
width: 200
|
||||
height: 300
|
||||
source: "qrc:/images/treesummersmall.png"
|
||||
}
|
||||
|
||||
Rectangle {
|
||||
id : sunId
|
||||
x: parent.width - width -100
|
||||
y: 50
|
||||
width: 100
|
||||
height: 100
|
||||
color: "yellow"
|
||||
radius: 60
|
||||
|
||||
|
||||
}
|
||||
|
||||
//state : "spring"
|
||||
state: settings.state
|
||||
|
||||
//States
|
||||
states: [
|
||||
State {
|
||||
name : "summer"
|
||||
PropertyChanges {
|
||||
target: skyId
|
||||
color: "lightblue"
|
||||
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: skyStartColorId
|
||||
color: "lightblue"
|
||||
}
|
||||
PropertyChanges {
|
||||
target: skyEndColorId
|
||||
color: "#EECCFF"
|
||||
}
|
||||
|
||||
|
||||
|
||||
PropertyChanges {
|
||||
target: treeSummerId
|
||||
opacity: 1
|
||||
}
|
||||
PropertyChanges {
|
||||
target: treespringId
|
||||
opacity: 0
|
||||
}
|
||||
|
||||
|
||||
PropertyChanges {
|
||||
target: groundStartColorId
|
||||
color: "lime"
|
||||
}
|
||||
PropertyChanges {
|
||||
target: groundEndColorId
|
||||
color: "darkkhaki"
|
||||
}
|
||||
PropertyChanges {
|
||||
target: sunId
|
||||
color: "yellow"
|
||||
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
State {
|
||||
name: "spring"
|
||||
PropertyChanges {
|
||||
target: skyId
|
||||
color: "deepskyblue"
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: skyStartColorId
|
||||
color: "deepskyblue"
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: skyEndColorId
|
||||
color: "#AACCFF"
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: treeSummerId
|
||||
opacity: 0
|
||||
}
|
||||
PropertyChanges {
|
||||
target: treespringId
|
||||
opacity: 1
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: groundStartColorId
|
||||
color: "lime"
|
||||
}
|
||||
PropertyChanges {
|
||||
target: groundStartColorId
|
||||
color: "lime"
|
||||
}
|
||||
|
||||
PropertyChanges {
|
||||
target: sunId
|
||||
color: "lightyellow"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
transitions : Transition {
|
||||
from: "*" ; to: "*"
|
||||
|
||||
ColorAnimation {
|
||||
duration: 500
|
||||
}
|
||||
NumberAnimation {
|
||||
properties: "opacity"
|
||||
duration: 500
|
||||
}
|
||||
}
|
||||
|
||||
MouseArea{
|
||||
anchors.fill: parent
|
||||
onClicked: {
|
||||
containerRectId.state = (containerRectId.state === "spring" ? "summer" : "spring")
|
||||
}
|
||||
}
|
||||
|
||||
Settings {
|
||||
id: settings
|
||||
property string state: "spring"
|
||||
}
|
||||
|
||||
Component.onDestruction: {
|
||||
settings.state = containerRectId.state
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user