Qt Widgets

Qt Widgets Module 는 고전적인 데스크톱 스타일의 사용자 인터페이스를 만들기 위한 UI 요소 집합을 제공합니다. 위젯 사용에 대한 자세한 내용은 사용자 인터페이스 개요를 참조하세요.

위젯

위젯은 Qt에서 사용자 인터페이스를 만들기 위한 기본 요소입니다. 위젯은 데이터와 상태 정보를 표시하고, 사용자 입력을 받고, 함께 그룹화해야 하는 다른 위젯을 위한 컨테이너를 제공할 수 있습니다. 부모 위젯에 포함되지 않은 위젯을 창이라고 합니다.

A parent widget containing various child widgets.

QWidget 클래스는 화면에 렌더링하고 사용자 입력 이벤트를 처리하는 기본 기능을 제공합니다. Qt가 제공하는 모든 UI 요소는 QWidget 의 서브클래스이거나 QWidget 서브클래스와 연결하여 사용됩니다. 사용자 정의 위젯을 만들려면 QWidget 또는 적절한 서브클래스를 서브클래스하고 가상 이벤트 핸들러를 다시 구현합니다.

스타일

스타일은 위젯을 대신해서 그리며 GUI의 모양과 느낌을 캡슐화합니다. Qt의 내장 위젯은 QStyle 클래스를 사용하여 거의 모든 그리기를 수행하므로 동등한 네이티브 위젯과 똑같이 보이도록 합니다.

Qt 스타일 시트는 위젯의 모양을 사용자 정의할 수 있는 강력한 메커니즘으로, QStyle 을 서브클래싱하여 이미 가능한 것 외에도 위젯의 모양을 커스터마이징할 수 있습니다.

레이아웃

레이아웃은 컨테이너 내에서 자식 위젯을 자동으로 정렬하는 우아하고 유연한 방법입니다. 각 위젯은 sizeHintsizePolicy 속성을 통해 레이아웃에 크기 요구 사항을 보고하고, 레이아웃은 그에 따라 사용 가능한 공간을 분배합니다.

Qt Widgets Designer 는 레이아웃에서 위젯을 인터랙티브하게 생성하고 배열할 수 있는 강력한 도구입니다.

모델/뷰 클래스

모델/뷰 아키텍처는 데이터가 사용자에게 표시되는 방식을 관리하는 클래스를 제공합니다. 목록과 표를 사용하는 데이터 기반 애플리케이션은 모델, 뷰 및 델리게이트를 사용하여 데이터와 보기를 분리하도록 구조화되어 있습니다.

그래픽 보기

그래픽 보기 프레임워크는 수많은 사용자 지정 2D 그래픽 항목을 관리하고 상호 작용하기 위한 것으로, 확대/축소 및 회전을 지원하여 항목을 시각화하기 위한 보기 위젯을 제공합니다.

모듈 사용하기

Qt 모듈의 C++ API를 사용하려면 직접 또는 다른 종속성을 통해 모듈 라이브러리에 연결해야 합니다. CMakeqmake를 비롯한 여러 빌드 도구가 이를 지원합니다.

CMake로 빌드하기

find_package() 명령을 사용하여 Qt6 패키지에서 필요한 모듈 컴포넌트를 찾습니다:

find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)

자세한 내용은 CMake로 빌드 개요를 참조하세요.

qmake로 빌드하기

qmake로 빌드하도록 모듈을 구성하려면 프로젝트의 .pro 파일에 QT 변수의 값으로 모듈을 추가합니다:

QT += widgets

문서 및 가이드

예제

API 참조

모듈 진화

Qt Widgets 의 변경 사항에는 Qt 6 시리즈에 적용된 모듈 API와 기능의 중요한 변경 사항이 나열되어 있습니다.

라이선스

Qt Widgets 모듈은 The Qt Company의 상용 라이선스에 따라 사용할 수 있습니다. 또한 무료 소프트웨어 라이선스에 따라 사용할 수 있습니다: GNU 약소 일반 공중 사용 허가서, 버전 3 또는 GNU 일반 공중 사용 허가서, 버전 2. 자세한 내용은 Qt 라이선스를 참조하십시오.

© 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.