Qt Quick Controls

Qt Quick ControlsQt Quick 에서 완전한 인터페이스를 구축하는 데 사용할 수 있는 컨트롤 세트를 제공합니다. 이 모듈은 Qt 5.7에 도입되었습니다.

Qt Quick Controls 사용자 정의 가능한 스타일을 선택할 수 있습니다. 자세한 내용은 스타일링 Qt Quick Controls 을 참조하십시오.

모듈 사용하기

QML API

모듈의 QML 유형은 QtQuick.Controls 가져오기를 통해 사용할 수 있습니다. 이 유형을 사용하려면 .qml 파일에 다음 가져오기 문을 추가합니다:

import QtQuick.Controls

C++ API

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

CMake로 빌드하기

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

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

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

qmake로 빌드하기

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

QT += quickcontrols2

소스에서 빌드

모듈은 Qt Image Formats 모듈을 사용하는 것이 좋지만 필수는 아닙니다. 이 모듈은 Imagine 스타일에서 사용하는 .webp 형식을 지원합니다.

컨트롤

Qt Quick Controls 의 전체 목록은 QML Types 을 참조하세요.

버튼 컨트롤

AbstractButton

버튼에 공통된 기능을 제공하는 추상적인 기본 유형

Button

명령을 수행하거나 질문에 답하기 위해 클릭할 수 있는 푸시 버튼

CheckBox

켜거나 끌 수 있는 확인 버튼

DelayButton

충분히 길게 누르면 트리거되는 확인 버튼

RadioButton

켜거나 끌 수 있는 전용 라디오 버튼

RoundButton

사용자가 클릭할 수 있는 모서리가 둥근 푸시 버튼 컨트롤

Switch

켜거나 끌 수 있는 버튼

ToolButton

툴바에 적합한 모양의 버튼

컨테이너 컨트롤

ApplicationWindow

머리글과 바닥글을 지원하는 스타일이 지정된 최상위 창

Container

컨테이너에 공통된 기능을 제공하는 추상적 기본 유형

Frame

논리적 컨트롤 그룹을 위한 시각적 프레임

GroupBox

논리적 컨트롤 그룹을 위한 시각적 프레임 및 제목

HorizontalHeaderView

TableView와 함께 제공되는 가로 헤더 보기 제공

Page

머리글 및 바닥글을 지원하는 스타일이 지정된 페이지 컨트롤

Pane

애플리케이션 스타일 및 테마와 일치하는 배경 제공

ScrollView

스크롤 가능한 보기

SplitView

각 항목 사이에 드래그 가능한 분할기를 사용하여 항목을 배치합니다.

StackView

스택 기반 탐색 모델 제공

SwipeView

사용자가 옆으로 스와이프하여 페이지를 탐색할 수 있습니다.

TabBar

사용자가 다른 보기 또는 하위 작업 간에 전환할 수 있습니다.

ToolBar

상황에 맞는 컨트롤을 위한 컨테이너

VerticalHeaderView

TableView와 함께 세로형 헤더 보기 제공

컨트롤 위임

CheckDelegate

켜거나 끌 수 있는 체크 표시기가 있는 항목 델리게이트

ItemDelegate

다양한 뷰 및 컨트롤에서 사용할 수 있는 기본 항목 델리게이트

RadioDelegate

켜거나 끌 수 있는 라디오 표시기가 있는 전용 항목 델리게이트

SwipeDelegate

스와이프 가능한 아이템 델리게이트

SwitchDelegate

켜거나 끌 수 있는 스위치 표시기가 있는 항목 델리게이트

TreeViewDelegate

트리뷰에 할당할 수 있는 델리게이트

인디케이터 컨트롤

BusyIndicator

예를 들어 콘텐츠가 로드되는 동안의 백그라운드 활동을 나타냅니다.

PageIndicator

현재 활성 페이지를 나타냅니다.

ProgressBar

작업 진행률 표시

ScrollBar

세로 또는 가로 대화형 스크롤 막대

ScrollIndicator

세로 또는 가로 비대화형 스크롤 표시기

입력 컨트롤

ComboBox

옵션 선택을 위한 결합 버튼 및 팝업 목록

Dial

회전하여 값을 설정하는 원형 다이얼

RangeSlider

트랙을 따라 두 개의 핸들을 밀어서 값의 범위를 선택하는 데 사용됩니다.

Slider

트랙을 따라 핸들을 밀어서 값을 선택하는 데 사용됩니다.

TextArea

여러 줄 텍스트 입력 영역

TextField

한 줄 텍스트 입력 필드

Tumbler

선택할 수 있는 항목의 회전 가능한 휠

Menu

컨텍스트 메뉴 또는 팝업 메뉴로 사용할 수 있는 팝업

MenuBar

창 메뉴 모음 제공

MenuBarItem

메뉴 모음 내에 드롭다운 메뉴를 표시합니다.

MenuItem

메뉴 내에 항목 표시

Drawer

스와이프 제스처로 열고 닫을 수 있는 사이드 패널

StackView

스택 기반 탐색 모델 제공

SwipeView

사용자가 옆으로 스와이프하여 페이지를 탐색할 수 있습니다.

TabBar

사용자가 다른 보기 또는 하위 작업 간에 전환할 수 있습니다.

TabButton

탭바에 적합한 모양을 가진 버튼

Dialog

사용자와의 단기적인 상호 작용에 사용되는 표준 버튼과 제목이 있는 팝업 대화 상자

Drawer

스와이프 제스처로 열고 닫을 수 있는 사이드 패널

Menu

컨텍스트 메뉴 또는 팝업 메뉴로 사용할 수 있는 팝업

Popup

팝업과 유사한 사용자 인터페이스 컨트롤의 기본 유형

ToolTip

모든 컨트롤에 대한 도구 팁 제공

구분 기호 컨트롤

MenuSeparator

메뉴의 항목 그룹을 인접 항목에서 분리합니다.

ToolSeparator

도구 모음의 항목 그룹을 인접한 항목에서 분리합니다.

버전

Qt Quick Controls 2.0은 Qt 5.7에 도입되었습니다. 이후의 마이너 Qt 릴리스에서는 Qt Quick Controls 모듈의 가져오기 버전이 한 단계씩 증가하여, Qt 5.12에서는 가져오기 버전이 Qt의 마이너 버전과 일치하게 됩니다.

Qt 6에서는 주 버전과 부 버전이 모두 일치하며, Qt Qml의 임포트에서 버전 번호가 생략될 수 있습니다. 버전이 생략된 경우 최신 버전이 사용됩니다.

실험용 Qt Labs 모듈은 임포트 버전 1.0을 사용합니다.

QtQtQuickQtQuick.Controls,
QtQuick.Controls.Material,
QtQuick.Controls.Universal,
QtQuick.Templates
Qt.labs.platform
5.72.72.01.0
5.82.82.11.0
5.92.92.21.0
5.102.102.31.0
5.112.112.41.0
5.122.122.121.0
6.06.06.01.0
............

개정

Qt Quick Controls 구현 방식에 따라 추가된 새 속성은 같은 이름의 사용자 정의 속성과 충돌할 수 있습니다. 예를 들어 다음 스니펫은 오류가 발생합니다:

import QtQuick.Controls 2.13

ApplicationWindow {
    // ...

    ComboBox {
        anchors.centerIn: parent

        // As currentValue was added in 2.14, the versioned import above
        // should cause this property to be used, but instead an error is produced:
        // "Cannot override FINAL property"
        property int currentValue: 0
    }
}

충돌을 피하려면 이러한 속성의 이름을 바꿔야 합니다.

모듈 진화

Qt Quick Controls 는 원래 터치 인터페이스에 중점을 두고 작성되었습니다. 데스크톱 인터페이스 개발은 이미 가능하지만, 보다 네이티브한 모양과 느낌을 제공하기 위한 작업이 계속 진행 중입니다.

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

기사 및 가이드

예제

참조

라이선스 및 속성

Qt Quick ControlsThe Qt Company의 상용 라이선스에 따라 제공됩니다. 또한 GNU 약소 일반 공중 사용 허가서 버전 3 또는 GNU 일반 공중 사용 허가서 버전 2에 따라 사용할 수 있습니다. 자세한 내용은 Qt 라이선스를 참조하십시오.

또한 Qt Quick Controls 에는 다음과 같은 허용 라이선스에 따라 타사 모듈이 포함될 수 있습니다:

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