inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[Level 2] Qt를 이용한 Python 프로그래밍: QML편

TextInput 과 KeyNavigation 타입

parent.width 관련 질문.

92

송인섭

작성한 질문수 4

1

안녕하세요! 강의를 보던 중 질문이 있습니다!

Window {

width:400; height:112

}

라고 했을 때.

Rectangle에서도 parent.width를 써도 되지 않나요??

안쓰는 이유가 있는지 궁금해서 문의 드립니다!

python gui qt qml pyside6

답변 2

0

김대진

안녕하세요. 송인섭님,

좋은 질문입니다! QML에서 Window를 루트로 선언하고 그 안에 Rectangle을 선언할 때, parent.width를 사용해도 문법적으로는 문제 없습니다. 다만 실제로는 parent가 무엇을 가리키는지에 따라 달라지며, 다음과 같은 이유들 때문에 종종 parent.width 대신 Window 혹은 root의 id를 사용하는 경우가 많습니다.

Window {
    width: 400
    height: 112

    Rectangle {
        width: parent.width // 가능
        height: 100
    }
}

이 경우 Rectangle의 parent는 Window가 맞으므로 parent.width == 400이 됩니다. 정상 작동합니다.

하지만 Rectangle이 중첩된 구조일 경우, 예를 들어 중간에 Item이 끼어 있다면 parent는 더 이상 Window가 아닐 수 있습니다.

개발자가 보기 쉽게 하기 위해 다음과 같이 명확하게 하는 경우가 많습니다:

Window {
    id: root
    width: 400
    height: 112

    Rectangle {
        width: root.width
        height: 100
    }
}

 

혹시 더 궁금한게 있으면 언제든 질문해 주세요.

감사합니다. 김대진 드림.

 

0

송인섭

감사합니다!

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 송인섭님.

QML에서 RectangleWindow의 하위 요소일 때, Rectangle의 너비를 parent.width로 설정할 수 있습니다. 이는 Rectangle의 너비를 부모 요소인 Window의 너비와 동기화시키는 효과가 있습니다.

parent.width를 사용하지 않는 이유는 다양할 수 있습니다. 코드의 명확성, 가독성을 높이기 위해 직접적인 값을 사용하거나, 더 복잡한 레이아웃 로직을 구현하고자 하는 경우가 예가 될 수 있습니다. 또한, 이와 같은 설정은 기본적으로 단순한 레이아웃에서 자주 사용되며, 움직이는 요소나 변화하는 레이아웃에서는 적합하지 않을 수 있습니다.

관련된 내용에 대해 더 자세히 알고 싶으시면 아래 유사한 질문과 답변을 참조하실 수 있습니다:

해당 링크는 부모-자식 관계에서의 프로퍼티 사용 시 주의점과 이유를 설명하고 있으니 도움이 되실 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

정보처리기사 실기 26년 2회 SRT 스케줄링 문제 단위 질문

0

4

1

유튜브(정보처리기사 실기 | 26년 2회 기출문제 코드 해설)

0

12

1

262 정처기 실기 C언어코딩

0

9

0

정보처리기사 262 실기 Hash(해시) 질문

0

17

2

static 변수 질문입니다.

0

21

2

파이썬 4강 질문입니다.

0

27

2

colab 코드 실행시 error

1

16

2

모의고사 1회 3번문제

0

55

3

41강 30:10

0

31

2

이론 공부법 질문 있습니다.

0

57

2

부모의 생성자 관련 질문

0

29

2

시험지 문제에 필기해도 되나요?

0

39

3

41강 11:23

0

33

2

4강파이썬 질문입니다

0

26

2

try-catch 핸들러명

0

36

2

36강 3:48

0

46

2

35강 18:27

0

42

2

강의 문의드립니다.

0

31

2

llm_decision_logs 저장 실패(실적 컬럼 불일치)를 어떻게 해결할까요?

2

42

3

자식 코드 내 super() 생략

0

44

2

출력질문

0

59

2

31강 4:06

0

50

2

7강 강의 학습자료에 대해서 질문있습니다.

0

30

1

달력 31일까지 나오지 않음.

1

101

2