구문
이 경고 카테고리의 철자는 [syntax]
입니다.
중첩된 인라인 컴포넌트는 지원되지 않습니다.
무슨 일인가요?
다른 인라인 컴포넌트 안에 인라인 컴포넌트를 정의했습니다.
이것이 왜 나쁜가요?
QML 언어는 중첩된 인라인 컴포넌트를 허용하지 않습니다. 항상 QML 파일의 루트 항목 안에 인라인 컴포넌트를 정의하세요.
예시
import QtQuick Item { component Correct: Item { component Evil: Item { ... } ... } }
이 경고를 해결하려면 모든 컴포넌트를 QML 파일의 루트 항목으로 이동하세요.
import QtQuick Item { component NotEvilAnymore: Item { ... } component Correct: Item { ... } }
인라인 컴포넌트 선언 뒤에는 반드시 유형 이름이 와야 합니다.
무슨 일이 있었나요?
잘못된 기본 유형으로 인라인 컴포넌트를 정의했습니다.
이것이 왜 나쁜가요?
인라인 컴포넌트는 상속할 기본 유형이 필요합니다.
예시
이 경우 someProperty
는 속성 이름이기 때문에 유효한 유형 이름이 아닙니다. 이 경고를 해결하려면 컴포넌트의 기본 유형으로 유효한 유형을 사용하세요:
import QtQuick Item { property Item someProperty component InlineComponent: Item { ... } }
잘못된 별칭 표현식: 이니셜라이저가 필요합니다.
무슨 일이 있었나요?
별칭 속성 없이 속성 별칭을 정의했습니다.
이것이 왜 나쁜가요?
별칭 프로퍼티는 항상 정의에 해당 별칭 프로퍼티 또는 ID가 있어야 합니다.
예시
이 경고를 해결하려면 별칭을 일반 프로퍼티로 바꾸거나 누락된 별칭 프로퍼티를 추가하세요:
import QtQuick Item { id: root property int someProperty property alias withAliasedProperty: root.someProperty }
잘못된 별칭 표현식: ID 및 필드 멤버 표현식만 별칭을 지정할 수 있습니다.
무슨 일이 있었나요?
ID 또는 필드 멤버 표현식이 아닌 다른 표현식에 별칭을 지정하는 속성 별칭을 정의했습니다.
필드 멤버 표현식은 someId.someProperty
형식의 표현식입니다.
이것이 왜 나쁜가요?
별칭 속성은 항상 정의에 별칭 속성이 있어야 하며 ID 및 필드 멤버 표현식 이외의 다른 표현식에 바인딩할 수 없습니다.
예제
이 경고를 해결하려면 별칭을 일반 속성으로 바꾸거나 ID 또는 필드 멤버 표현식에 바인딩하세요:
import QtQuick Item { id: root property int p property int someProperty: p + 1 property alias alternative: root.p }
ID 뒤에는 식별자가 와야 합니다.
무슨 일이 있었나요?
값 없이 ID를 정의했습니다.
이것이 왜 나쁜가요?
QML 언어에서는 빈 ID를 허용하지 않습니다.
예제
import QtQuick Item { id:; }
이 경고를 해결하려면 아이디를 유효한 이름에 바인딩하세요:
import QtQuick Item { id: root; }
ID 구문 분석에 실패했습니다.
무슨 일이 있었나요?
아이디를 이름이 아닌 다른 표현식에 바인딩했습니다.
이것이 왜 나쁜가요?
QML 언어에서는 아이디에 대한 바인딩으로 이름만 허용하며, 더 복잡한 표현식은 사용할 수 없습니다.
예제
import QtQuick Item { property int a property int b function f() { if (true) return a return b } id: f() }
이 경고를 해결하려면 id를 유효한 이름에 바인딩하거나 속성을 선언하고 바인딩을 설정하세요:
import QtQuick Item { property int a property int b function f() { if (true) return a return b } id: someItem // it would be confusing to call it `f` like the function property int alternative: f() }
QML 개체가 아닌 개체를 목록 멤버로 선언하기
무슨 일이 있었나요?
객체 목록에 객체가 아닌 표현식을 추가했습니다.
이것이 왜 나쁜가요?
QML 언어에서는 객체 목록에 있는 객체만 허용합니다.
예제
이 경고를 해결하려면 유효한 개체 유형을 사용하거나 목록에서 항목을 제거하세요:
인라인 컴포넌트 내부에 선언된 열거형은 무시됩니다.
무슨 일인가요?
인라인 컴포넌트 내부에 열거형을 정의했습니다.
이것이 왜 나쁜가요?
QML 언어에서는 QML 파일의 루트 항목 내에서만 열거형 정의를 허용합니다. 인라인 컴포넌트 내부에서 선언된 열거형은 인라인 컴포넌트 내부에서도 사용할 수 없습니다. 이는 루트가 아닌 QML 객체 내부에 선언된 열거형에도 동일하게 적용됩니다.
예제
이 경고를 해결하려면 열거형 선언을 QML 파일의 루트 요소로 이동하세요:
pragma에 대한 알 수 없는 인수
무슨 일이 있었나요?
프라그마에 잘못된 인수를 지정했습니다.
이것이 왜 나쁜가요?
프래그마는 아무런 효과가 없습니다.
예제
pragma ComponentBehavior: Buond
import QtQuick
Item {
}
프래그마를 제거하거나 잠재적인 오타를 수정하여 이 경고를 해결할 수 있습니다:
pragma ComponentBehavior: Bound
import QtQuick
Item {
}
© 2025 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.