사용자 인터페이스
Qt 프레임워크의 주요 사용자 인터페이스 기술은 다음과 같습니다. Qt Quick 과 Qt WidgetsQt Quick 인터페이스는 유동적이고 동적이며 터치 인터페이스에 가장 적합합니다. Qt Widgets 인터페이스는 복잡한 데스크톱 애플리케이션을 만들기 위한 것입니다. 대상 플랫폼의 기본 모양과 느낌으로 Qt Quick 및 Qt Widgets 인터페이스를 만들 수 있습니다.
를 사용하여 UI 구축 Qt Quick
Qt Quick 는 동적이고 유동적인 사용자 인터페이스를 만드는 데 사용됩니다. 모듈은 Qt Quick Controls 모듈은 버튼, 대화 상자 및 메뉴와 같은 QML 유형을 제공합니다. 선언적 언어인 QML을 사용하여 UI를 빌드하고 JavaScript를 사용하여 로직을 구현할 수 있습니다.
다음 목록에는 관련 개요가 포함되어 있습니다:
- Qt Quick Controls
- Qt Quick 애플리케이션 시작하기
- QML의 첫 단계
- QML 용어집
- 시각적 유형
- 포지셔너 및 레이아웃
- 사용자 입력 처리하기
- 텍스트 표시
- 애니메이션
- QML에 자바스크립트 통합하기
- Qt Quick 3D - 3D 그래픽용 애드온
- Qt Shader Tools - 애드온 셰이더 효과
Qt Widgets 사용자 인터페이스
Qt Widgets 는 데스크톱 환경에서 흔히 볼 수 있는 사용자 인터페이스 요소입니다. 위젯은 기본 플랫폼에 잘 통합되어 Windows, Linux 및 macOS에서 기본 모양과 느낌을 제공합니다. 위젯은 성숙하고 대부분의 기존 사용자 인터페이스에 적합한 풍부한 사용자 인터페이스 요소를 갖추고 있습니다. 위젯은 Qt Quick와는 달리 위젯은 대규모 데스크톱 애플리케이션을 만드는 데 적합하며 유동적인 인터페이스를 갖춘 터치 중심 애플리케이션을 만드는 데는 적합하지 않습니다.
다음 목록에는 Qt Widgets 에 대한 관련 개요가 포함되어 있습니다:
- 위젯 클래스
- 애니메이션 프레임워크
- 애플리케이션 메인 창
- 대화 상자 창
- 드래그 앤 드롭
- 위젯 및 그래픽 보기의 제스처
- 레이아웃 관리
- 윈도우 및 대화상자 위젯
- 스타일 및 스타일 인식 위젯
UI 기술 비교
다음 표에서는 Qt Quick 과 Qt Widgets 을 비교하여 각 기술의 강점, 한계 및 이상적인 사용 사례를 강조합니다:
| 기능 | Qt Quick 및 Qt Quick Controls | Qt Widgets | 설명 |
|---|---|---|---|
| 기본 언어 | QML 및 JavaScript | C++ | Qt Quick 는 선언적입니다. Qt Widgets 는 명령형, 클래식 C++입니다. |
| 네이티브 룩앤필 | 예( Qt Quick Controls 스타일을 통해). | 예(기본 데스크톱 위젯). | 둘 다 대상 플랫폼에서 네이티브 룩앤필을 지원합니다. |
| 사용자 지정 스타일 | 예(사용자 지정 가능한 스타일, 사용자 지정 QML 컴포넌트). | 예(Qt 스타일 시트). | 두 프레임워크 모두 서로 다른 메커니즘을 통해 광범위한 사용자 지정 스타일링을 허용합니다. |
| 플루이드 애니메이션 및 전환 | 예(GPU 가속 애니메이션 내장). | 제한적( QPropertyAnimation 을 통해 지원되지만 유동적인 UI 애니메이션을 위해 설계되지 않음). | Qt Quick 는 애니메이션이 적용된 최신 UI를 위해 설계되었습니다. Qt Widgets 는 그렇지 않습니다. |
| 터치 지원 | 예(터치 및 제스처용으로 설계됨). | 제한적(터치 이벤트가 존재하지만 Qt Widgets 은 마우스와 키보드 입력을 가정함). | Qt Quick 멀티모달 입력을 더 잘 처리합니다. Qt Widgets 좋은 터치 UX를 위해서는 더 많은 수작업이 필요합니다. |
| 표준 업계 위젯 | 예(일반적인 데스크톱 컨트롤을 제공하며 사용자 정의 구성 요소는 필요한 모든 위젯을 구현할 수 있음). | 예(완성된 기성 데스크톱 위젯의 풍부한 세트). | Qt Quick 모든 유형의 데스크톱 컨트롤을 구현할 수 있지만 Qt Widgets 에는 더 광범위한 기존 위젯 세트가 기본으로 포함되어 있습니다. |
| 모델/보기 프로그래밍 | 예( ListView 및 TableView 등의 델리게이트 기반 보기를 통한 유연한 모델 지원). | 예( QTableView, QListView, QTreeView 등 포괄적인 클래식 MVC 뷰 세트 포함). | Qt Quick 은 델리게이트를 사용하여 데이터와 프레젠테이션을 명확하게 분리하고 Qt Widgets 은 완성된 대규모의 기성 모델/뷰 클래스 세트를 제공하는 등 두 기술 모두 강력한 모델/뷰 프로그래밍을 지원합니다. |
| 신속한 UI 프로토타이핑 | 예(QML에서 매우 빠른 반복). | 예(기존 UI의 경우 특히 Qt Widgets Designer). | Qt Quick 는 특히 빠른 시각적 프로토타이핑에 적합하며, Qt Widgets 을 사용하면 Qt Widgets Designer 을 사용하여 클래식 데스크톱 인터페이스를 빠르게 어셈블할 수 있습니다. |
| 하드웨어 가속 그래픽 | 예( Qt Quick 씬 그래프를 통해 GPU 가속). | 부분적(위젯은 소프트웨어에서 렌더링됩니다. OpenGL 위젯은 가능하지만 분리되어 있음). | Qt Quick 만이 내장된 전체 장면 GPU 가속을 제공합니다. 자세한 내용은 그래픽을 참조하세요. |
| Graphical Effects | 예(셰이더 기반 블러, 글로우, 그림자, 색상 효과 등). | 제한적(기본 효과는 Qt GUI 만). | Qt Quick 풍부한 GPU 기반 시각 효과를 제공합니다. Qt Widgets 간단한 CPU 효과만 제공합니다. |
| 서식 있는 텍스트 처리. | 예(Qt의 서식 있는 텍스트 문서 클래스는 Qt Quick 및 Qt Quick Controls' TextArea 에서 활용할 수 있지만 일부 C++ 구현이 필요할 수 있음). | 예( QTextDocument, QTextEdit 및 관련 클래스를 통해 완벽하게 지원). | Qt Quick 은 QTextDocument 을 통해 Qt의 리치 텍스트 엔진과 통합되며, Qt Widgets 은 텍스트 처리를 위해 바로 사용할 수 있는 성숙한 클래스 세트를 제공합니다. |
참고: Qt Widgets UI에서 QML 보기를 표시할 수 있습니다. 자세한 내용은 Qt Quick 위젯을 참조하세요.
관련 주제
다음 페이지에는 사용자 인터페이스 디자인 및 개발에 대한 자세한 정보가 포함되어 있습니다:
- 디자인 도구 - 디자이너 및 개발자를 위한 사용자 인터페이스 도구 개요
- 그래픽 - 그래픽 개요
- 모델/보기 프로그래밍
- 높은 DPI
© 2026 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.