It won't hurt to try

[C++/윈도우프로그래밍응용]32. 다이얼로그 본문

C++/윈도우프로그래밍응용

[C++/윈도우프로그래밍응용]32. 다이얼로그

yongki.doki 2021. 11. 28. 00:38

1. Qt의 기본 위젯

위젯(Widget)

  • 사용자와의 의사 소통을 위해서 사용하는 버튼, 메뉴, 스크롤 바, 메시지 박스와 같은 요소
  • Qt의 위젯들은 QWidget 클래스를 상속
  • 위젯들은 일반적으로 정보 입력(Input)을 위한 것과 정보를 표시하기(Display) 위한 것으로 구분

2. 윈도의 계층 구조

윈도의 계층 구조

윈도와 위젯은 계층 구조를 가짐

X윈도는 트리(Tree) 구조의 계층 구조

  • 윈도와 위젯들은 구성
  • 최상위(Top Level) 윈도 : 루트 (Root) 윈도
      → MS 윈도우의 바탕화면, X 서버에서는 각 화면별로 루트 윈도를 자동으로 생성
  • 최상위(Top Level) 위젯 : 부모 위젯이 없는 위젯 → 윈도

Qt의 모든 위젯이 최상위 위젯(윈도)이 될 수 있음

  • 위젯은 자식 위젯을 가질 수 있고 자식 위젯은 부모 위젯의 공간 내에서 위치
  • 최상위 위젯을 제외한 각 위젯들은 부모(Parent)위젯과 자식(Child)위젯으로 구성

Qt의 위젯은 컨트롤과 컨테이너로 모두 사용 가능

  • 다른 툴킷들은 레이아웃 매니저를 꼭 사용해야지만 위젯들을 위도에 배치 가능
  • MFC의 경우 레이아웃도 필요함

3. 위젯의 스태킹 순서

형제 윈도/위젯

동일한 수준(Level)에 있는 윈도/위젯들

  • 형제 윈도/위젯들은 종이를 쌓아 놓는 것처럼 서로 포개 놓을 수 있음
  • 스태킹(Stacking)순서
    : 형제 윈도/위젯들이 포개졌을 때 윈도/위젯 간의 상하 관계
300x250
300x250
Comments