사용자 인터페이스
Qt 프레임워크의 주요 사용자 인터페이스 기술은 다음과 같습니다. Qt Quick 와 Qt Widgets입니다. Qt 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에 JavaScript 통합하기
- Qt Quick 3D - 3D 그래픽용 애드온
- Shader ToolsQt XML-ph-0000@deepl.internal - 셰이더 효과 애드온
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 Scene Graph를 통한 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 위젯을 참조하십시오.
관련 주제
다음 페이지에는 사용자 인터페이스 설계 및 개발에 대한 자세한 정보가 포함되어 있습니다:
- 디자인 도구 - 디자이너 및 개발자를 위한 사용자 인터페이스 도구 개요
- 그래픽 - 그래픽 개요
- 모델/뷰 프로그래밍
- 고해상도(High 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.