C
Qt Quick Ultralite shapes Example
// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial import QtQuick 2.15 import QtQuick.Shapes 1.0 ShapesEntry { id: root text: "Join styles" Rectangle { color: "lightGray" anchors.top: parent.top anchors.horizontalCenter: parent.horizontalCenter anchors.margins: root.contentMargins width: root.contentHeight height: root.contentHeight Shape { anchors.centerIn: parent width: 120 height: 120 scale: root.shapeScale ShapePath { id: joinTest strokeColor: "black" strokeWidth: 16 fillColor: "transparent" capStyle: ShapePath.RoundCap property int joinStyleIdx: 0 joinStyle: style(joinStyleIdx) startX: 30 startY: 30 PathLine { x: 100; y: 100 } PathLine { x: 30; y: 100 } } } Text { anchors.top: parent.top anchors.right: parent.right anchors.margins: 2 font.pixelSize: 10 text: styleText(joinTest.joinStyleIdx) } } function styleText(index: int) : string { if (index == 0) return "BevelJoin"; else if (index == 1) return "MiterJoin"; else return "RoundJoin"; } function style(index: int) : ShapePath.JoinStyle { if (index == 0) return ShapePath.BevelJoin; else if (index == 1) return ShapePath.MiterJoin; else return ShapePath.RoundJoin; } Timer { interval: 1000 repeat: true running: true onTriggered: joinTest.joinStyleIdx = (joinTest.joinStyleIdx + 1) % 3 } }