Widget (위젯) 개요¶
컴퓨터 프로그래밍에서 widget (위젯) 또는 control (컨트롤)은
컴퓨터 사용자와 상호 작용하는 interface를 이루는 요소 (= GUI 구성 요소) 를 가리킴.
즉, GUI를 구성하는 기본적인 GUI component 가 바로 widget임.
Qt에서의 Widget¶
Qt에서는 control이라는 용어보다 widget 이라는 용어를 주로 사용함.
Qt 용어로 GUI를 만드는 것의 의미
- 여러 종류의 widget들을 window에 배치하는 것을 의미함.
Widget은 다음을 정의하는 GUI component임.
- 화면에서 어떻게 표시될지 (외관)
- 컴퓨터 사용자와 어떤 상호 작용을 할지 (동작)
간략히 요약하면, widget은 GUI를 구성하는 가장 기본적인 control unit 임.
Parent-Child 계층 관계 (Hierarchy)¶
Qt에서 모든 widget은 parent-child 계층 관계 를 가짐.
- parent widget은 여러 child widget을 가질 수 있음.
- child widget은 parent widget의 영역 안에 배치됨.
- 좀 더 정확히 말하면, child widget은 parent widget의 좌표계를 기준으로 배치됨.
- 단, parent widget의 visible area(가시영역)을 벗어나는 경우 clipping되어 화면에 보이지 않음.
- parent widget이 소멸되면 child widget도 함께 소멸됨.
Window란?
- parent widget이 없는 widget을 특별히 window 라고 부름.