이 페이지에서

ShapePath QML Type

경로와 획 및 채우기와 관련된 속성을 설명합니다. 더 보기...

Import Statement: import QtQuick.Shapes 1.12
Inherits:

Path

속성

상세 설명

Shape 는 하나 이상의 ShapePath 요소를 포함합니다. Shape가 가시적인 결과를 출력하려면 최소한 하나의 ShapePath가 필요합니다. ShapePath 자체는 Path 의 변형으로, 획 너비와 색상, 채우기 색상 또는 그라데이션, 연결 및 끝단 스타일 등과 같은 획 및 채우기 매개변수를 설명하는 추가 속성을 가지고 있습니다. 일반적인 Path 객체와 마찬가지로, ShapePath 또한 PathMove, PathLine, PathCubic, PathQuad, PathArc 와 같은 경로 요소 목록과 시작 위치를 포함합니다.

이 데이터 세트의 속성이 변경되면 해당 변경 사항이 상위 요소로 전달되어 Shape의 출력이 변경됩니다. 즉, 일반적인 QML 바인딩과 NumberAnimation 와 같은 애니메이션 유형을 사용하여 시작 및 종료 위치, 제어점, 또는 스트로크 및 채우기 매개변수를 간단하고 쉽게 변경하거나 애니메이션을 적용할 수 있습니다.

다음 예제에서는 joinStyleIndex의 값에 따라 선 연결 스타일이 자동으로 변경됩니다:

ShapePath {
    strokeColor: "black"
    strokeWidth: 16
    fillColor: "transparent"
    capStyle: ShapePath.RoundCap

    property int joinStyleIndex: 0

    property variant styles: [
        ShapePath.BevelJoin,
        ShapePath.MiterJoin,
        ShapePath.RoundJoin
    ]

    joinStyle: styles[joinStyleIndex]

    startX: 30
    startY: 30
    PathLine { x: 100; y: 100 }
    PathLine { x: 30; y: 100 }
}

Shape에 바인딩된 후, joinStyleIndex가 2(ShapePath.RoundJoin)일 때의 출력은 다음과 같습니다:

모서리가 둥근 검은색 사선

Qt Quick 예제 - 도형, 일기 예보 예제, Shape도 참조하십시오 .

속성 설명서

capStyle : enumeration

이 속성은 선의 끝점이 어떻게 그려지는지를 정의합니다. 기본값은 ‘ ShapePath.SquareCap ’입니다.

상수설명
ShapePath.FlatCap선의 끝점을 덮지 않는 사각형 끝점.
ShapePath.SquareCap선 끝점을 덮고 선 너비의 절반만큼 그 너머로 확장되는 사각형 선 끝.
ShapePath.RoundCap둥근 선 끝.

cosmeticStroke : bool [since 6.11]

이 속성은 렌더링 배율에 관계없이 획 두께가 일정하게 유지되는지 여부를 나타냅니다.

이 속성이 ` true`로 설정되면, ` QtQuick::Item::scale`와 같은 도형에 적용된 변환과 관계없이 ` strokeWidth`에 지정된 대로 장치 독립 픽셀(DIP) 단위로 일정한 너비를 가진 도형의 윤곽선이 그려집니다.

기본값은 false 입니다.

이 속성은 Qt 6.11에서 도입되었습니다.

strokeWidth도 참조하십시오 .

dashOffset : real

이 속성은 대시 패턴의 시작점을 정의하며, 대시 패턴을 지정하는 데 사용되는 단위로 측정됩니다.

기본값은 0 입니다.

QPen::setDashOffset()도 참조하십시오 .

dashPattern : list<real>

이 속성은 ` strokeStyle `이 ` ShapePath.DashLine`로 설정되었을 때의 대시 패턴을 정의합니다. 패턴은 짝수 개의 양수 항목으로 지정해야 하며, 여기서 1, 3, 5...번 항목은 대시이고 2, 4, 6...번 항목은 공백입니다. 패턴은 펜 너비 단위로 지정됩니다.

기본값은 (4, 2)이며, 이는 4 * strokeWidth 픽셀 길이의 대시 뒤에 2 * strokeWidth 픽셀 너비의 공백이 오는 것을 의미합니다.

QPen::setDashPattern()도 참조하십시오 .

fillColor : color

이 속성은 채우기 색상을 지정합니다.

transparent 로 설정하면 채우기가 적용되지 않습니다.

기본값은 white 입니다.

참고: ` fillGradient ` 또는 ` fillItem ` 중 하나라도 ` null` 이외의 값으로 설정된경우 , 이 값들이 ` fillColor`보다 우선합니다. 이 경우 ` fillColor `는 무시됩니다.

fillGradient : ShapeGradient

이 속성은 채우기 그라데이션을 정의합니다. 기본적으로 그라데이션은 활성화되어 있지 않으며 값은 ` null`입니다. 이 경우, ` fillItem ` 속성이 설정되어 있으면 해당 속성을 기반으로 채우기가 이루어지며, 그렇지 않으면 ` fillColor ` 속성이 사용됩니다.

참고: 여기에서는 Gradient유형을 사용할 수 없습니다. 대신 LinearGradient 와 같은 고급 하위 유형 중 하나를 사용하는 것이 좋습니다.

참고: null 이외의 값으로 설정된경우 , fillGradient 가 fillItem 및 fillColor 보다 우선 적용됩니다.

기본적으로 최대 256개의 서로 다른 그라데이션이 동시에 표시될 수 있습니다. 이 제한은 QT_QUICKSHAPES_MAX_GRADIENTS 환경 변수를 사용하여 사용자 정의할 수 있습니다.

fillItem : Item [since 6.8]

이 속성은 도형의 채우기로 사용할 또 다른 Qt Quick 항목을 정의합니다. 해당 항목은 텍스처 제공자(예: layered item, ShaderEffectSource 또는 Image)여야 합니다. 유효한 텍스처 제공자가 아닌 경우, 이 속성은 무시됩니다.

fillItem 의 시각적 부모는 반드시 Qt Quick 또는 Item 여야 합니다. 특히, ShapePath 는 Item 가 아니므로, 그 자식 요소는 채우기 항목으로 사용할 수 없습니다. fillItem 가 ShapePath 의 자식으로 생성될 때는 부모를 수동으로 설정해야 합니다.

예를 들어, fillItem 속성 할당에서 Image 객체를 직접 생성하면, 이 객체는 ShapePath 의 자식 요소가 됩니다. 이 경우, 상위 요소를 수동으로 설정해야 합니다. 다음 예제에서는 창의 contentItem 를 상위 요소로 사용합니다.

fillItem: Image {
    visible: false
    source: "contents.png"
    parent: window.contentItem
}

참고: 레이어화된 항목을 채우기 항목( fillItem)으로 사용할경우 , 채우기를 변형할 때 픽셀화 현상이 나타날 수 있습니다. 이 경우 layer.smooth 속성을 true로 설정하면 더 나은 시각적 결과를 얻을 수 있습니다.

기본적으로 채우기 항목은 설정되어 있지 않으며 값은 ` null`입니다.

참고: ` null` 이외의 값으로 설정된경우 , ` fillItem ` 속성이 ` fillColor`보다 우선합니다. 또한 ` fillGradient ` 속성은 ` fillItem `와 ` fillColor` 모두보다 우선합니다.

이 속성은 Qt 6.8에서 도입되었습니다.

fillRule : enumeration

이 속성은 채우기 규칙을 지정합니다. 기본값은 ` ShapePath.OddEvenFill`입니다. 채우기 규칙에 대한 설명은 QPainterPath::setFillRule()을 참조하십시오.

상수설명
ShapePath.OddEvenFill홀수-짝수 채우기 규칙.
ShapePath.WindingFill0이 아닌 와인딩 채우기 규칙.

fillTransform : matrix4x4 [since 6.8]

이 속성은 경로의 채우기 패턴(fillGradient 또는 fillItem)에 적용될 변환을 정의합니다. 채우기가 단색이나 투명한 경우에는 효과가 없습니다. 기본적으로 채우기 변환은 활성화되어 있지 않으며, 이 속성의 값은 identity 행렬입니다.

이 예제는 myImageItem 의 내용을 채워 넣은 사각형을, myShape 의 중심점을 기준으로 45도 회전시켜 표시합니다:

ShapePath {
    fillItem: myImageItem
    fillTransform: PlanarTransform.fromRotate(45, myShape.width / 2, myShape.height / 2)
    PathRectangle { x: 10; y: 10; width: myShape.width - 20; height: myShape.height - 20 }
}

이 속성은 Qt 6.8에서 도입되었습니다.

joinStyle : enumeration

이 속성은 두 개의 연결된 선 사이의 접합부가 어떻게 그려지는지를 정의합니다. 기본값은 ‘ ShapePath.BevelJoin ’입니다.

상수설명
ShapePath.MiterJoin선의 바깥쪽 가장자리가 각도를 이루며 만나도록 연장되고, 이 영역이 채워집니다.
ShapePath.BevelJoin두 선 사이의 삼각형 모양의 홈이 채워집니다.
ShapePath.RoundJoin두 선 사이의 원호 부분이 채워집니다.

miterLimit : int

joinStyle 가 ShapePath.MiterJoin 로 설정된 경우, 이 속성은 마이터 접합부가 접합 지점에서 얼마나 멀리 뻗어 나갈 수 있는지를 지정합니다.

기본값은 2입니다.

pathHints : PathHints [since 6.7]

이 속성은 도형의 특성을 설명합니다. 이 속성을 설정하면 해당 힌트를 통해 렌더링이 최적화될 수 있습니다. 기본적으로 힌트는 설정되어 있지 않습니다. 다음 값들을 조합하여 설정할 수 있습니다:

상수설명
ShapePath.PathLinear경로에는 곡선이 없고 직선만 포함됩니다.
ShapePath.PathQuadratic경로에는 3차 곡선이 없으며, 직선과 2차 베지어 곡선만 포함됩니다.
ShapePath.PathConvex경로에 움푹 들어간 부분이나 구멍이 없습니다. 도형 내부의 두 점 사이를 연결하는 모든 직선은 도형 내부에 완전히 포함됩니다.
ShapePath.PathFillOnRight이 경로는 트루타입(TrueType) 규칙을 따르며, 채워진 영역 주변의 윤곽선은 제어점이 시계 방향으로 배열되고, 도형 내 구멍 주변의 윤곽선은 제어점이 시계 반대 방향으로 배열됩니다.
ShapePath.PathSolid경로에는 구멍이 없거나, 수학적으로 말하면 단순 연결되어 있습니다.
ShapePath.PathNonIntersecting경로 윤곽선은 스스로와 교차하지 않습니다.
ShapePath.PathNonOverlappingControlPointTriangles곡선 제어점으로 정의된 삼각형들은 서로 겹치지 않으며, 어떤 선분과도 겹치지 않습니다. 또한, 어떤 선분도 서로 교차하지 않습니다. 이는 모든 제어점 간에 인접성( PathNonIntersecting)이 성립함을 의미합니다.

모든 힌트가 논리적으로 독립적인 것은 아니지만, 상호 의존성은 강제되지 않습니다. 예를 들어, ‘ PathLinear ’는 ‘ PathQuadratic ’를 함의하지만, ‘ PathLinear ’가 ‘ PathQuadratic ’ 없이 존재하는 것도 유효합니다.

pathHints 속성은 참으로 알려진 명제들의 집합을 설명합니다. 힌트가 없다고 해서 반드시 해당 명제가 거짓인 것은 아닙니다.

이 속성은 Qt 6.7에서 도입되었습니다.

strokeColor : color

이 속성은 획 색상을 지정합니다.

transparent 로 설정하면 테두리 선이 표시되지 않습니다. strokeGradient 속성이 설정된 경우, 이 속성이 strokeColor 보다 우선 적용됩니다.

기본값은 white 입니다.

strokeGradient : ShapeGradient [since 6.12]

이 속성은 획의 그라데이션을 정의합니다. 기본적으로 그라데이션은 활성화되어 있지 않으며 값은 ` null`입니다. 이 경우 획은 ` strokeColor ` 속성을 기반으로 합니다.

참고: 여기에서는 ‘Gradient’유형을 사용할 수 없습니다. 대신 ‘ LinearGradient ’과 같은 고급 하위 유형 중 하나를 사용하는 것이 좋습니다.

참고: ` null` 이외의 값으로 설정된경우 , ` strokeGradient ` 속성이 ` strokeColor` 속성보다 우선 적용됩니다.

기본적으로 최대 256개의 서로 다른 그라디언트를 동시에 표시할 수 있습니다. 이 제한은 QT_QUICKSHAPES_MAX_GRADIENTS 환경 변수를 사용하여 사용자 정의할 수 있습니다.

이 속성은 Qt 6.12에서 도입되었습니다.

strokeStyle : enumeration

이 속성은 선의 스타일을 정의합니다. 기본값은 ShapePath.SolidLine입니다.

상수설명
ShapePath.SolidLine일반 선.
ShapePath.DashLine몇 픽셀 간격으로 나뉘어진 점선.

strokeWidth : real

이 속성은 획의 너비를 지정합니다.

음수 값으로 설정하면 획이 그려지지 않습니다.

기본값은 1입니다.

cosmeticStroke도 참조하십시오 .

trim group

trim.end : real [since 6.10]

trim.offset : real [since 6.10]

trim.start : real [since 6.10]

이 경로 중 표시될 구간을 지정합니다.

이 구간은 경로 길이 비율인 start 및 end 로 정의됩니다. 기본적으로 start 는 0(경로의 시작을 나타냄)이고 end 는 1(경로의 끝을 나타냄)이므로 전체 경로가 표시됩니다.

offset 의 값은 start 및 end 에 더해집니다. 이로 인해 [0, 1] 범위를 초과하거나 미달하는 경우, 해당 값은 순환되며 결과 경로 구간도 마찬가지로 처리됩니다. offset 의 유효 범위는 -1과 1 사이입니다. 기본값은 0입니다.

이 속성들은 Qt 6.10에서 도입되었습니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.