스타일링 Qt Quick Controls

사용 가능한 스타일

Qt Quick Controls 에는 다양한 스타일이 제공됩니다.

기본 스타일

기본 스타일은 단순하고 가벼운 올라운드 스타일로 Qt Quick Controls 에 최대한의 성능을 제공합니다.

퓨전 스타일

퓨전 스타일의 밝은 테마입니다.

퓨전 스타일의 어두운 테마입니다.

퓨전 스타일은 플랫폼에 구애받지 않는 스타일로 Qt Quick Controls 에 데스크톱 중심의 룩앤필을 제공합니다.

상상 스타일

상상 스타일은 이미지 자산을 기반으로 합니다. 이 스타일에는 미리 정의된 명명 규칙을 사용하여 이미지가 있는 디렉토리를 제공함으로써 쉽게 변경할 수 있는 기본 이미지 세트가 함께 제공됩니다.

macOS 스타일

macOS 스타일의 밝은 테마.

macOS 스타일의 어두운 테마.

macOS 스타일은 macOS의 기본 스타일입니다.

참고: 이 스타일은 macOS에서 실행되는 애플리케이션에만 사용할 수 있습니다.

iOS 스타일

iOS 스타일의 밝은 테마입니다.

iOS 스타일의 어두운 테마입니다.

iOS 스타일은 이미지 자산을 기반으로 하는 iOS용 기본 스타일입니다.

참고: 이 스타일은 iOS에서 실행되는 애플리케이션에만 사용할 수 있습니다.

머티리얼 스타일

머티리얼 스타일의 밝은 테마입니다.

머티리얼 스타일의 어두운 테마입니다.

머티리얼 스타일은 Google 머티리얼 디자인 가이드라인에 따라 매력적인 디자인을 제공하지만 기본 스타일보다 더 많은 시스템 리소스를 필요로 합니다.

유니버설 스타일

유니버설 스타일의 밝은 테마입니다.

유니버설 스타일의 어두운 테마입니다.

유니버설 스타일은 Microsoft 유니버설 디자인 가이드라인에 기반한 매력적인 디자인을 제공하지만 기본 스타일보다 더 많은 시스템 리소스를 필요로 합니다.

Windows 스타일

Windows 스타일은 Windows에 기본으로 제공되는 스타일입니다.

참고: 이 스타일은 Windows에서 실행되는 애플리케이션에만 사용할 수 있습니다.

FluentWinUI3 스타일

FluentWinUI3 스타일의 밝은 테마입니다.

FluentWinUI3 스타일의 어두운 테마.

FluentWinUI3 스타일은 Windows 11 이상을 실행하는 플랫폼용으로 디자인된 모던하고 네이티브한 스타일로, Fluent UI 및 WinUI 3 디자인 가이드라인을 따릅니다. FluentWinUI3는 지원되는 모든 플랫폼에서 실행할 수 있습니다.

스타일 사용 Qt Quick Controls

기본 스타일

명시적으로 설정된 스타일이 없으면 기본 스타일이 사용됩니다. 사용되는 스타일은 운영 체제에 따라 다릅니다:

다른 모든 운영 체제의 경우 기본 스타일이 사용됩니다.

컴파일 시 스타일 선택

컴파일 타임 스타일 선택은 QML에서 스타일을 임포트하여 사용할 스타일을 지정하는 방법입니다. 예를 들어 머티리얼 스타일을 임포트한다고 가정해 보겠습니다:

// The style must be imported before any other QtQuick.Controls imports.

import QtQuick.Controls.Material

ApplicationWindow {
    // ...
}

QtQuick.Controls(런타임 스타일 선택을 담당하는)는 가져오지 않습니다. 폴백 스타일은 스타일의 qmldir에 의해 지정됩니다:

module QtQuick.Controls.Material
# ...
import QtQuick.Controls.Basic auto

컴파일 타임 스타일 선택의 장점은 QML 컴파일러가 사용 중인 특정 스타일을 알고 바인딩을 위한 C++ 코드를 생성할 수 있다는 것입니다.

또 다른 이점은 QtQuick.Controls 플러그인이 사용되지 않으므로 애플리케이션과 함께 배포할 필요가 없다는 것입니다.

애플리케이션이 정적으로 빌드된 경우에도 명시적 임포트가 필요합니다.

컴파일 타임 스타일 선택의 단점은 각 스타일마다 고유한 스타일이 필요하기 때문에 하나의 실행 파일이 여러 스타일을 지원할 수 없다는 것입니다.

런타임 스타일 선택

런타임 스타일 선택은 QtQuick.Controls 을 가져와서 사용할 스타일을 지정하는 방법입니다:

import QtQuick.Controls

QtQuick.Controls 플러그인은 다음 방법 중 하나를 통해 런타임에 설정된 스타일을 가져옵니다:

이러한 접근법의 우선 순위는 가장 높은 것부터 낮은 것까지 나열된 순서를 따릅니다. 즉, 예를 들어 QQuickStyle 을 사용하여 스타일을 설정하는 것이 명령줄 인수를 사용하는 것보다 항상 우선합니다.

마찬가지로 폴백 스타일은 다음 방법 중 하나를 통해 설정할 수 있습니다:

참고: 폴백 스타일은 기본 스타일의 qmldir 파일에서 정적으로 선택하지 않은 경우에만 동적으로 선택할 수 있습니다.

런타임 스타일 선택의 장점은 단일 애플리케이션 바이너리가 여러 스타일을 지원할 수 있으므로 최종 사용자가 애플리케이션을 실행할 스타일을 선택할 수 있다는 것입니다.

이 접근 방식의 단점은 QML 컴파일러가 사용 중인 특정 스타일을 알 수 없으므로 Qt Quick Controls 유형의 속성에 대한 바인딩에 대한 C++ 코드를 생성할 수 없다는 것입니다. 이는 다른 모듈의 유형에 대한 바인딩에 대한 C++를 생성하는 QML 컴파일러의 기능에는 영향을 미치지 않습니다.

C++에서 QQuickStyle 사용

QQuickStyle 은 특정 스타일을 구성하기 위한 C++ API를 제공합니다. 다음 예제는 머티리얼 스타일로 Qt Quick Controls 애플리케이션을 실행합니다:

QQuickStyle::setStyle("Material");

자세한 내용은 QQuickStyle 의 자세한 설명을 참조하세요.

명령줄 인수

-style 명령줄 인수를 전달하면 다양한 스타일을 편리하게 테스트할 수 있습니다. 아래에 나열된 다른 방법보다 우선합니다. 다음 예제는 머티리얼 스타일로 Qt Quick Controls 애플리케이션을 실행합니다:

./app -style Material

환경 변수

QT_QUICK_CONTROLS_STYLE 환경 변수를 설정하면 시스템 전체 스타일 기본 설정을 지정할 수 있습니다. 이 변수는 아래에 언급된 구성 파일보다 우선합니다. 다음 예는 유니버설 스타일로 Qt Quick Controls 애플리케이션을 실행합니다:

QT_QUICK_CONTROLS_STYLE=Universal ./app

지원되는 환경 변수의 전체 목록은 Qt Quick Controls 에서 지원되는 환경 변수를 참조하세요.

구성 파일

Qt Quick Controls 은 애플리케이션의 리소스에 내장된 특수 구성 파일( :/qtquickcontrols2.conf)을 지원합니다.

구성 파일은 기본 설정 스타일(앞서 설명한 방법 중 하나로 재정의할 수 있음)과 특정 스타일별 속성을 지정할 수 있습니다. 다음 예제에서는 기본 스타일을 머티리얼 스타일로 지정합니다.

[Controls]
Style=Material

구성 파일에 대한 자세한 내용은 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.