112 lines
4.2 KiB
QML
112 lines
4.2 KiB
QML
// Copyright (C) 2023 The Qt Company Ltd.
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
|
|
|
|
import QtQuick
|
|
import QtQuick.Window
|
|
import QtQuick.Layouts
|
|
import QtQuick.Controls
|
|
|
|
Window {
|
|
id: window
|
|
visible: true
|
|
|
|
width: grid.implicitWidth
|
|
height: grid.implicitHeight
|
|
|
|
title: "Window (" + grid.width + "x" + grid.height + ")"
|
|
|
|
GridLayout {
|
|
id: grid
|
|
columns: 3
|
|
rows: 3
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
uniformCellWidths: true
|
|
|
|
Repeater {
|
|
model: 3
|
|
Rectangle {
|
|
color: "#243a5e"
|
|
implicitWidth: 300
|
|
implicitHeight: 300
|
|
opacity: implicitWidth/600/2 + implicitHeight/600/2
|
|
Layout.fillWidth: true
|
|
Layout.fillHeight: true
|
|
|
|
Layout.maximumWidth: 1000
|
|
Layout.maximumHeight: 1000
|
|
|
|
Layout.minimumWidth: 20
|
|
Layout.minimumHeight: 20
|
|
|
|
Layout.alignment: Qt.AlignCenter
|
|
Text {
|
|
id: sizeText
|
|
anchors.centerIn: parent
|
|
text: "min :" + parent.Layout.minimumWidth + "x" + parent.Layout.minimumHeight
|
|
}
|
|
Text {
|
|
id: sizeText2
|
|
anchors.top: sizeText.bottom
|
|
anchors.horizontalCenter: sizeText.horizontalCenter
|
|
text: "want:" + parent.implicitWidth + "x" + parent.implicitHeight
|
|
}
|
|
Text {
|
|
id: sizeText3
|
|
anchors.top: sizeText2.bottom
|
|
anchors.horizontalCenter: sizeText2.horizontalCenter
|
|
text: "size :" + parent.width + "x" + parent.height
|
|
}
|
|
Text {
|
|
anchors.top: sizeText3.bottom
|
|
anchors.horizontalCenter: sizeText3.horizontalCenter
|
|
text: "max :" + parent.Layout.maximumWidth + "x" + parent.Layout.maximumHeight
|
|
}
|
|
Text {
|
|
anchors.bottom: sizeText.top
|
|
anchors.horizontalCenter: sizeText.horizontalCenter
|
|
text: index
|
|
font.pointSize: 14
|
|
}
|
|
WheelHandler {
|
|
acceptedModifiers: Qt.NoModifier
|
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
|
onWheel: (event)=> {
|
|
if (event.angleDelta.y > 0)
|
|
implicitWidth += 5
|
|
else if (implicitWidth > 50)
|
|
implicitWidth -= 5
|
|
}
|
|
}
|
|
WheelHandler {
|
|
acceptedModifiers: Qt.ShiftModifier
|
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
|
onWheel: (event)=> {
|
|
if (event.angleDelta.y > 0)
|
|
parent.Layout.minimumWidth = Math.min(parent.Layout.minimumWidth + 5, parent.Layout.maximumWidth)
|
|
else
|
|
parent.Layout.minimumWidth = Math.max(parent.Layout.minimumWidth - 5, 0)
|
|
}
|
|
}
|
|
WheelHandler {
|
|
acceptedModifiers: Qt.ControlModifier
|
|
acceptedDevices: PointerDevice.Mouse | PointerDevice.TouchPad
|
|
onWheel: (event)=> {
|
|
if (event.angleDelta.y > 0)
|
|
parent.Layout.maximumWidth = Math.min(parent.Layout.maximumWidth + 5, 2500)
|
|
else
|
|
parent.Layout.maximumWidth = Math.max(parent.Layout.maximumWidth - 5, parent.Layout.minimumWidth)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
onWidthChanged: {
|
|
console.log("Preferred Size:", grid.implicitWidth, "x", grid.implicitHeight)
|
|
console.log(" Minimum Size:", grid.Layout.minimumWidth, "x", grid.Layout.minimumHeight)
|
|
console.log(" Maximum Size:", grid.Layout.maximumWidth, "x", grid.Layout.maximumHeight)
|
|
}
|
|
}
|