이매진 스타일
Imagine 스타일은 사용자 정의가 가능한 이미지 자산을 기반으로 합니다. 더 보기...
| 임포트 문: | import QtQuick.Controls.Imagine |
| 지원 버전: | Qt 5.10부터 |
연동 속성
- path: string
상세 설명
Imagine 스타일은 이미지 자산을 기반으로 합니다. 이 스타일에는 기본 이미지 세트가 포함되어 있지만, 미리 정의된 명명 규칙을 따르는 이미지가 포함된 디렉터리를 지정하면 이미지를 쉽게 변경할 수 있습니다.

기본 이미지가 적용된 Imagine 스타일
Imagine 스타일로 애플리케이션을 실행하려면 Qt Quick Controls 의 ‘스타일 사용’ 섹션을 참조하십시오.
파일 이름
이미지 파일의 이름은 다음 규칙에 따라 지정됩니다:
<control>-<element>-<states>
<control> 및 <element> 섹션은 필수이지만, <states> 섹션은 선택 사항입니다. 예를 들어, Button 에 대해 "button-background.9.png" 라는 단일 파일이 제공되면, 이 파일은 Button 가 지원하는 모든 상태에 사용됩니다. 어떤 상태에 대한 이미지를 제공할지는 개발자가 결정할 수 있습니다. 그러나 가능하면 disabled, pressed 등과 같이 가장 일반적인 컨트롤 상태에 대한 이미지를 제공하는 것이 좋습니다. 이렇게 하면 대화형 컨트롤이 최종 사용자가 기대하는 대로 시각적으로 작동하도록 보장할 수 있습니다.
요소 참조
다음 표에는 각 컨트롤에서 지원되는 요소와 해당 요소의 가능한 상태, 그리고 요구되는 파일 확장자가 나열되어 있습니다. 요소란 컨트롤의 특정 시각적 부분을 나타내는 이미지를 말합니다. 예를 들어, Button 의 "background" 요소는 background 를 나타냅니다.
| 컨트롤 | 요소 | 상태 | 확장자 |
|---|---|---|---|
| ApplicationWindow | 배경 | 활성 | .9.png (또는 .png) |
| BusyIndicator | 애니메이션 | 비활성화, 실행 중, 미러링, 호버 | .webp |
| 배경 | 위와 동일 | .webp | |
| Button | 배경 | 비활성화, 눌림, 선택됨, 선택 가능, 포커스, 강조 표시, 평면, 미러링, 호버 | .9.png |
| CheckBox | 배경 | 비활성화, 눌림, 선택됨, 부분 선택됨, 포커스됨, 미러링됨, 호버됨 | .9.png (또는 .png) |
| 표시기 | 위와 동일 | .png | |
| CheckDelegate | 배경 | 비활성화, 눌림, 선택, 부분 선택, 포커스, 강조 표시, 미러링, 마우스 오버 | .9.png (또는 .png) |
| 표시기 | 위와 동일 | .png | |
| ComboBox | 배경 | 비활성화, 눌림, 편집 가능, 열림, 포커스, 미러링, 호버, 플랫 | .9.png (또는 .png) |
| 표시기 | 위와 동일 | .png | |
| 팝업 | 위와 동일 | .9.png (또는 .png) | |
| DelayButton | 배경 | 비활성화, 눌림, 선택됨, 선택 가능, 포커스됨, 미러링됨, 마우스 오버됨 | .9.png (또는 .png) |
| 진행 | 위와 동일 | .9.png (또는 .png) | |
| 마스크 | 위와 동일 | .9.png (또는 .png) | |
| Dial | background1 | 비활성화, 눌림, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| Dialog | 배경 | 모달, 어둡게 | .9.png (또는 .png) |
| 제목 | 위와 동일 | .9.png (또는 .png) | |
| 오버레이 | 모달 | .9.png (또는 .png) | |
| DialogButtonBox | 배경 | 비활성화, 미러링 | .9.png (또는 .png) |
| Drawer | 배경 | 모달, 어둡게, 상단, 좌측, 우측, 하단 | .9.png (또는 .png) |
| 오버레이 | 모달 | .9.png (또는 .png) | |
| Frame | background | 비활성화, 미러링 | .9.png (또는 .png) |
| GroupBox | 배경 | 비활성화, 대칭 | .9.png (또는 .png) |
| 제목 | 위와 동일 | .9.png (또는 .png) | |
| ItemDelegate | 배경 | 비활성화, 눌림, 포커스, 강조 표시, 미러링, 호버 | .9.png (또는 .png) |
| Label | 배경 | 비활성화, 미러링, 호버 | .9.png (또는 .png) |
| Menu | 배경 | 모달, 어두워짐 | .9.png (또는 .png) |
| 오버레이 | 모달 | .9.png (또는 .png) | |
| MenuItem | 화살표 | 비활성화, 눌림, 선택, 포커스, 강조 표시, 미러링, 호버 | .png |
| background | 위와 동일 | .9.png (또는 .png) | |
| 표시기 | 위와 동일 | .png | |
| MenuSeparator | 배경 | 비활성화됨, 미러링됨 | .9.png (또는 .png) |
| 구분선 | 위와 동일 | .9.png (또는 .png) | |
| Page | 배경 | 비활성화됨, 대칭 | .9.png (또는 .png) |
| PageIndicator | 배경 | 비활성화, 미러링, 호버 | .9.png (또는 .png) |
| 위임 | 비활성화, 눌림, 선택, 미러링, 호버 | .png | |
| Pane | background | 비활성화, 미러링 | .9.png (또는 .png) |
| Popup | background | 모달, 어둡게 | .9.png (또는 .png) |
| 오버레이 | 모달 | .9.png (또는 .png) | |
| ProgressBar | 애니메이션 | 비활성화, 미러링, 호버 | .png |
| 배경 | 비활성화, 미지정, 대칭, 호버 | .9.png (또는 .png) | |
| 마스크 | 위와 동일 | .9.png (또는 .png) | |
| 진행 | 위와 동일 | .9.png (또는 .png) | |
| RadioButton | 배경 | 비활성화, 눌림, 선택, 포커스, 미러링, 마우스 오버 | .9.png (또는 .png) |
| 표시기 | 위와 동일 | .png | |
| RadioDelegate | 배경 | 비활성화, 눌림, 선택, 포커스, 강조, 미러링, 호버 | .9.png (또는 .png) |
| 표시기 | 위와 동일 | .png | |
| RangeSlider | 배경 | 수직, 수평, 비활성화, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| RangeSlider | 진행 | 위와 동일 | .9.png (또는 .png) |
| 핸들 | 첫 번째, 두 번째, 세로, 가로, 비활성화, 눌림, 포커스, 미러링, 호버 | .png | |
| RoundButton | background | 비활성화, 눌림, 선택됨, 선택 가능, 포커스됨, 강조 표시됨, 평면, 미러링, 호버 | .9.png (또는 .png) |
| ScrollBar | 배경 | 수직, 수평, 비활성화, 상호작용 가능, 눌림, 미러링, 호버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| ScrollIndicator | background | 수직, 수평, 비활성화, 대칭, 호버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| ScrollView | 배경 | 비활성화됨, 미러링됨 | .9.png (또는 .png) |
| Slider | 배경 | 세로, 가로, 비활성화, 눌림, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| 진행 | 위와 동일 | .9.png (또는 .png) | |
| SpinBox | 배경 | 비활성화, 편집 가능, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| 편집기 | 비활성화, 포커스, 미러링, 호버 | .9.png (또는 .png) | |
| 표시기 | 위, 아래, 비활성화, 편집 가능, 눌림, 포커스, 미러링, 호버 | .9.png (또는 .png) | |
| StackView | 배경 | 비활성화, 미러링됨 | .9.png (또는 .png) |
| SwipeDelegate | 배경 | 비활성화, 눌림, 포커스, 강조 표시, 미러링, 호버 | .9.png (또는 .png) |
| SwipeView | 배경 | 수직, 수평, 비활성화, 상호작용, 포커스, 미러링 | .9.png (또는 .png) |
| Switch | 배경 | 비활성화, 눌림, 선택, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| 표시기 | 위와 동일 | .9.png (또는 .png) | |
| SwitchDelegate | 배경 | 비활성화, 눌림, 선택, 포커스, 강조, 반전, 마우스 오버 | .9.png (또는 .png) |
| 핸들 | 위와 동일 | .9.png (또는 .png) | |
| 표시기 | 위와 동일 | .9.png (또는 .png) | |
| TabBar | 배경 | 비활성화, 헤더, 푸터, 대칭 | .9.png (또는 .png) |
| TabButton | 배경 | 비활성화, 눌림, 선택, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| TextArea | background | 비활성화, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| TextField | 배경 | 비활성화, 포커스, 미러링, 호버 | .9.png (또는 .png) |
| ToolBar | 배경 | 비활성화, 헤더, 푸터, 미러링 | .9.png (또는 .png) |
| ToolButton | 배경 | 비활성화, 눌림, 선택됨, 선택 가능, 포커스, 강조 표시, 평면, 미러링, 호버 | .9.png (또는 .png) |
| ToolSeparator | background | 수직, 수평, 비활성화, 미러링 | .9.png (또는 .png) |
| 구분선 | 위와 동일 | .9.png (또는 .png) | |
| ToolTip | 배경 | .9.png (또는 .png) | |
| Tumbler | 배경 | 비활성화, 포커스, 미러링, 호버 | .9.png (또는 .png) |
참고: 1) Imagine 스타일 다이얼은 Qt 6.6에서 도입된 startAngle 및 endAngle 속성을 아직 지원하지 않으며, 대신 고정된 배경 이미지를 사용합니다.
자산 예시
다음 표에는 모든 컨트롤에 대한 자산 예시( 기본 Imagine 스타일 자산에서 발췌)가 나열되어 있습니다. 모든 요소에 자산이 필요한 것은 아니므로 이 목록이 모든 경우를 망라하는 것은 아니지만, 사용자 정의 자산을 제작할 때 지침으로 활용할 수 있습니다.
이 자산들이 내보내진 템플릿은 Sketch 프로젝트 형태로 제공됩니다.
| 컨트롤 | 요소 | 상태 | 자산 | 참고 사항 |
|---|---|---|---|---|
| ApplicationWindow | 배경 |
| 각주 1참조 | |
| 오버레이 |
| 각주 1참조 | ||
| 오버레이 | 모달 |
| 각주 1참조 | |
| Button | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 체크무늬 |
| ||
| 배경 | 선택됨, 비활성화됨 |
| ||
| 배경 | 선택됨, 포커스됨 |
| ||
| 배경 | 선택됨, 마우스 오버 시 |
| ||
| 배경 | 강조 표시됨 |
| ||
| 배경 | 강조 표시됨, 비활성화됨 |
| ||
| 배경 | 강조 표시됨, 포커스됨 |
| ||
| 배경 | 강조 표시됨, 마우스 오버 시 |
| ||
| 배경 | 강조 표시, 누름 |
| ||
| 배경 | 강조 표시됨, 선택됨 |
| ||
| 배경 | 마우스를 올린 상태 |
| ||
| 배경 | 평면 |
| ||
| 배경 | 평면, 비활성화됨 |
| ||
| 배경 | 평면, 마우스 오버 시 |
| ||
| 배경 | 평면, 눌린 상태 |
| ||
| 배경 | 단색, 체크무늬 |
| ||
| CheckBox | 표시기 |
| ||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 |
| ||
| 표시등 | 선택됨 |
| ||
| 표시등 | 선택됨, 눌림 |
| ||
| 표시기 | 선택됨, 마우스 오버 시 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 부분적으로, 선택됨 |
| ||
| 표시등 | 부분적으로, 선택됨, 눌림 |
| ||
| 표시등 | 부분적으로, 선택됨, 초점됨 |
| ||
| 표시기 | 부분적으로, 선택됨, 마우스 오버됨 |
| ||
| 표시기 | 포커스됨 |
| ||
| 표시기 | 마우스를 올렸을 때 |
| ||
| CheckDelegate | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 초점 |
| ||
| 배경 | 마우스를 올렸을 때 |
| ||
| 표시기 |
| |||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 |
| ||
| 표시등 | 선택됨 |
| ||
| 표시등 | 선택됨, 눌림 |
| ||
| 표시등 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버 |
| ||
| 표시기 | 포커스 상태 |
| ||
| 표시기 | 마우스를 올렸을 때 |
| ||
| 지시등 | 부분적으로, 선택됨 |
| ||
| 표시등 | 부분적으로, 선택됨, 눌림 |
| ||
| 표시등 | 부분적으로, 선택됨, 초점됨 |
| ||
| 표시기 | 부분적으로, 선택됨, 마우스 오버됨 |
| ||
| 지표 | 마우스를 올렸을 때 |
| ||
| ComboBox | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 열림 |
| ||
| 배경 | 편집 가능 |
| ||
| 배경 | 편집 가능, 포커스됨 |
| ||
| 배경 | 편집 가능, 비활성화됨 |
| ||
| 표시기 |
| |||
| 표시기 | 사용 불가 |
| ||
| 표시기 | 편집 가능 |
| ||
| 표시기 | 편집 가능, 비활성화됨 |
| ||
| 표시기 | 편집 가능, 미러링됨 |
| ||
| 표시기 | 편집 가능, 대칭, 비활성화됨 |
| ||
| 팝업 |
| |||
| DelayButton | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 비활성화됨, 선택됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 체크된 |
| ||
| 배경 | 선택됨, 포커스됨 |
| ||
| 배경 | 선택됨, 마우스 오버 시 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| 진행 |
| |||
| 진행 상황 | 비활성화됨 |
| ||
| 마스크 |
| |||
| Dial | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 핸들 |
| |||
| 핸들 | 비활성화됨 |
| ||
| 핸들 | 포커스됨 |
| ||
| 핸들 | 포커스됨, 눌림 |
| ||
| 핸들 | 초점, 마우스 오버 |
| ||
| 핸들 | 누름 |
| ||
| 핸들 | 마우스를 올린 상태 |
| ||
| Dialog | 배경 |
| ||
| 오버레이 |
| 각주 1참조 | ||
| 오버레이 | 모달 |
| 각주 1참조 | |
| DialogButtonBox | 배경 |
| ||
| Drawer | 배경 | 왼쪽 |
| |
| 배경 | 오른쪽 |
| ||
| 배경 | 위쪽 |
| ||
| 배경 | 하단 |
| ||
| 오버레이 |
| 각주 1참조 | ||
| 오버레이 | 모달 |
| 각주 1참조 | |
| Frame | 배경 |
| ||
| GroupBox | 배경 |
| ||
| 제목 |
| |||
| ItemDelegate | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 누름 상태 |
| ||
| 배경 | 포커스 상태 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| 배경 | 강조 표시됨 |
| ||
| Menu | 배경 |
| ||
| MenuItem | 배경 |
| ||
| 배경 | 강조 표시됨 |
| ||
| 화살표 |
| |||
| 화살표 | 대칭 |
| ||
| 화살표 | 비활성화됨 |
| ||
| 화살표 | 반전, 비활성화됨 |
| ||
| 표시기 |
| |||
| 표시기 | 비활성화됨 |
| ||
| 표시등 | 누름 |
| ||
| 표시기 | 선택됨 |
| ||
| 표시등 | 선택됨, 눌림 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버 |
| ||
| 표시기 | 포커스 상태 |
| ||
| 표시기 | 마우스 오버 시 |
| ||
| MenuSeparator | 구분선 |
| ||
| Page | 배경 |
| 각주 1참조 | |
| PageIndicator | 위임 |
| ||
| 위임 | 비활성화됨 |
| ||
| 대표 | 비활성화됨, 현재 |
| ||
| delegate | 누름 |
| ||
| 위임자 | 현재 |
| ||
| Pane | 배경 |
| ||
| Popup | 배경 |
| 각주 1참조 | |
| 오버레이 |
| 각주 1참조 | ||
| 오버레이 | 모달 |
| ||
| ProgressBar | 배경 |
| ||
| 진행 |
| |||
| 마스크 |
| |||
| RadioButton | 표시기 |
| ||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 |
| ||
| 표시기 | 선택됨 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버 |
| ||
| 표시기 | 선택됨, 눌림 |
| ||
| 표시기 | 포커스됨 |
| ||
| 표시기 | 마우스를 올린 상태 |
| ||
| RadioDelegate | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 누름 상태 |
| ||
| 배경 | 포커스 상태 |
| ||
| 배경 | 마우스 오버 |
| ||
| 표시기 |
| |||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 |
| ||
| 표시기 | 선택됨 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버됨 |
| ||
| 표시기 | 선택됨, 눌림 |
| ||
| 표시기 | 포커스됨 |
| ||
| 표시기 | 마우스를 올린 상태 |
| ||
| RangeSlider | 배경 | 수직 |
| |
| 배경 | 가로 |
| ||
| 진행 | 수직 |
| ||
| 진행 | 수직, 비활성화됨 |
| ||
| 진행 | 가로 |
| ||
| 진행 | 가로, 비활성화됨 |
| ||
| 핸들 |
| |||
| 핸들 | 사용 불가 |
| ||
| 핸들 | 포커스됨 |
| ||
| 핸들 | 포커스됨, 마우스 오버됨 |
| ||
| 핸들 | 포커스됨, 눌림 |
| ||
| 핸들 | 마우스 오버 |
| ||
| 핸들 | 누름 |
| ||
| RoundButton | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 비활성화됨, 선택됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 체크된 |
| ||
| 배경 | 선택됨, 포커스됨 |
| ||
| 배경 | 선택됨, 마우스 오버 시 |
| ||
| 배경 | 강조 표시됨 |
| ||
| 배경 | 강조 표시됨, 누름 |
| ||
| 배경 | 강조 표시됨, 초점 맞춰짐 |
| ||
| 배경 | 강조 표시됨, 마우스 오버 시 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| ScrollBar | 핸들 |
| ||
| 핸들 | 비활성화됨 |
| ||
| 핸들 | 대화형 |
| ||
| 핸들 | 상호작용 가능, 비활성화됨 |
| ||
| 핸들 | 상호작용 가능, 눌린 상태 |
| ||
| 핸들 | 상호작용, 마우스 오버 시 |
| ||
| ScrollIndicator | 핸들 |
| ||
| Slider | 배경 | 수직 |
| |
| 배경 | 가로 |
| ||
| 진행 | 수직 |
| ||
| 진행 | 수직, 비활성화됨 |
| ||
| 진행 | 가로형 |
| ||
| 진행 | 가로, 비활성화됨 |
| ||
| 핸들 |
| |||
| 핸들 | 사용 불가 |
| ||
| 핸들 | 포커스됨 |
| ||
| 핸들 | 포커스, 호버 |
| ||
| 핸들 | 포커스됨, 눌림 |
| ||
| 핸들 | 마우스를 올려놓음 |
| ||
| 핸들 | 눌림 |
| ||
| SpinBox | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 편집 가능 |
| ||
| 표시기 | 위로 |
| ||
| 표시기 | 위, 비활성화됨 |
| ||
| 표시등 | 올림, 눌림 |
| ||
| 표시등 | 위, 포커스됨 |
| ||
| 표시등 | 위, 대칭 |
| ||
| 지표 | 위, 마우스 오버 |
| ||
| 표시기 | 위로, 편집 가능 |
| ||
| 표시기 | 위쪽, 편집 가능, 눌림 상태 |
| ||
| 표시기 | 위, 편집 가능, 포커스됨 |
| ||
| 표시기 | 위, 편집 가능, 대칭 |
| ||
| 표시기 | 위쪽, 편집 가능, 마우스 오버 |
| ||
| 표시기 | 아래쪽 |
| ||
| 표시기 | 하향, 비활성화 |
| ||
| 표시등 | 아래쪽, 눌림 |
| ||
| 표시등 | 아래쪽, 포커스됨 |
| ||
| 표시등 | 아래, 대칭 |
| ||
| 지표 | 아래쪽, 호버 상태 |
| ||
| 표시기 | 아래쪽, 편집 가능 |
| ||
| 표시기 | 아래쪽, 편집 가능, 눌림 상태 |
| ||
| 표시기 | 아래쪽, 편집 가능, 포커스됨 |
| ||
| 표시기 | 아래쪽, 편집 가능, 대칭 |
| ||
| 표시기 | 아래쪽, 편집 가능, 마우스 오버 |
| ||
| SwipeDelegate | 배경 |
| ||
| 배경비활성화됨 | 비활성화됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 초점 |
| ||
| 배경 | 마우스를 올린 상태 |
| ||
| Switch | 표시기 |
| ||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 상태 |
| ||
| 표시등 | 선택됨 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버됨 |
| ||
| 표시기 | 선택됨, 누름 |
| ||
| 표시기 | 포커스됨 |
| ||
| 표시기 | 마우스를 올려놓음 |
| ||
| 핸들 |
| |||
| 핸들 | 비활성화됨 |
| ||
| 핸들 | 누름 |
| ||
| SwitchDelegate | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 초점 |
| ||
| 배경 | 마우스를 올렸을 때 |
| ||
| 표시기 |
| |||
| 표시기 | 비활성화됨 |
| ||
| 표시기 | 누름 |
| ||
| 표시등 | 선택됨 |
| ||
| 표시기 | 선택됨, 포커스됨 |
| ||
| 표시기 | 선택됨, 마우스 오버 |
| ||
| 표시기 | 선택됨, 눌림 |
| ||
| 표시기 | 포커스됨 |
| ||
| 표시기 | 마우스를 올렸을 때 |
| ||
| 핸들 |
| |||
| 핸들 | 비활성화됨 |
| ||
| TabBar | 배경 |
| ||
| TabButton | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 체크무늬 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| 배경 | 비활성화, 선택됨 |
| ||
| TextArea | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| TextField | 배경 |
| ||
| 배경 | 비활성화됨 |
| ||
| 배경 | 포커스됨 |
| ||
| ToolBar | 배경 |
| ||
| ToolButton | 배경 |
| ||
| 배경 | 비활성화됨, 선택됨 |
| ||
| 배경 | 포커스됨 |
| ||
| 배경 | 누름 |
| ||
| 배경 | 체크무늬 |
| ||
| 배경 | 선택됨, 포커스됨 |
| ||
| 배경 | 선택, 마우스 오버 시 |
| ||
| 배경 | 마우스 오버 시 |
| ||
| ToolSeparator | 구분선 | 수평 |
| |
| 구분선 | 수직 |
| ||
| ToolTip | 배경 |
|
1. 단일 색상으로 구성된 1x1 크기의 이미지를 컨트롤 전체를 채우도록 늘린 것입니다.
9-패치 이미지
Imagine 스타일은 디자이너가 특정 요소의 크기 조정 시 반응 방식을 제어할 수 있도록 9-패치 이미지를 사용합니다. 다음은 Button 의 background 을 나타내는 9-패치 이미지와, 9-패치 선을 더 쉽게 볼 수 있도록 확대한 버전의 예시입니다:

이미지의 콘텐츠 크기는 가로 44픽셀, 세로 32픽셀입니다. 모든 9-패치 이미지는 각 변을 따라 1픽셀 두께의 선(통칭 “9-패치 선”)이 필요하므로, 이미지의 실제 크기는 가로 46픽셀, 세로 34픽셀이 됩니다. 9-패치 선은 이미지의 대상 DPI와 관계없이 반드시 1픽셀 두께여야 한다는 점에 유의하십시오. 예를 들어, button-background.9.png와 button-background@2x.9.png의 9-패치 선은 모두 1픽셀 두께여야 합니다.
9-패치 선은 반드시 검은색이어야 하며, 나머지 영역은 투명하거나 흰색이어야 합니다:

확장 가능한 영역
상단과 왼쪽 가장자리에 있는 9-패치 선은 이미지 크기가 조정될 때 어느 부분이 늘어나는지 결정합니다.
다음은 9-패치 이미지의 크기를 원래 크기의 1.5배로 다양한 방향으로 확대한 예시입니다:

둥근 모서리는 선의 범위 밖에 있으므로 원래 크기를 그대로 유지하는 것을 확인할 수 있습니다.
패딩 영역
오른쪽 및 하단 가장자리에 있는 9-패치 선은 컨트롤의 내부 패딩( contentItem)에 사용할 수 있는 공간을 결정하며, 이는 외부 패딩( padding)을 제어하는 것으로도 볼 수 있습니다. 패딩을 설명하는 다이어그램은 Control Layout 에서 확인할 수 있습니다.
아래에는 9-패치 이미지의 크기가 조정되는 추가 예시가 나와 있으며, 이번에는 패딩 9-패치 선이 어떻게 작동하는지 보여줍니다.

contentItem 는 음영 처리된 영역 내에서 필요한 만큼의 공간을 차지할 수 있습니다. 패딩 라인을 생략하면, contentItem 는 신축 가능한 영역을 초과하지 않는 범위 내에서 필요한 만큼의 공간을 차지하게 됩니다.
삽입 영역
예를 들어, 경우에 따라 컨트롤에 드롭 섀도우를 적용해야 할 필요가 있습니다. 하지만 위의 버튼에 드롭 섀도우를 추가하면 버튼의 크기에 영향을 미치게 되어, 레이아웃 구성과 마우스/터치 입력 경계 설정 모두에 문제가 발생합니다.
인셋 영역은 9-패치 이미지의 특정 영역이 컨트롤 밖으로 나가야 함을 컨트롤에 알려줌으로써 이 문제를 해결합니다:

아래 이미지에서 점선은 버튼의 클릭 가능한 영역과 레이아웃에서 버튼이 차지할 공간을 나타냅니다. 그림자는 그 뒤의 줄무늬 영역으로 표시되어 있습니다:

9-패치 이미지 내보내기
다양한 벡터 및 비트맵 편집기를 사용하여 Imagine 스타일에 적합한 9-패치 이미지를 만들 수 있습니다. 다음 섹션에서는 각 편집기의 내보내기 과정을 간략히 설명하며, 마지막 섹션에서는 내보낸 이미지가 9-패치 규격을 준수하는지 확인하는 방법을 설명합니다.
Affinity Designer
Affinity의 ‘내보내기 설정’ 문서를 참조하십시오.
Adobe Illustrator
Adobe의 ‘자산 내보내기’ 패널 설명서를 참조하십시오.
Adobe Photoshop
Adobe의 ‘레이어에서 이미지 자산 생성’ 문서를 참조하십시오.
Inkscape
Inkscape 9-Patch 내보내기 확장 기능을 사용하면 Inkscape에서 자산 파일을 내보낼 수 있습니다.
스케치
Sketch의 내보내기 문서를 참조하십시오.
Qt Quick Controls 또한, 에셋을 내보낸 후 9-패치 선의 두께를 자동으로 수정해 주는 Sketch용 플러그인도 제공합니다. 이 파일을 설치하려면 파일을 두 번 클릭하세요. Sketch에서 9-패치 내보내기 플러그인이 설치되었음을 확인하면, 플러그인은 이미지를 내보낼 때 자동으로 처리합니다.
9-패치 선 수정하기
여러 DPI 변형(@2x, @3x 등)으로 9-패치 이미지를 내보낼 때, 9-패치 선은 일반적으로 이미지와 함께 확대됩니다. 이를 해결하는 방법은 여러 가지가 있지만, 가장 간단한 방법은 ImageMagick의 mogrify 도구를 사용하는 것입니다. 이 도구에는 9-패치 선의 두께를 줄이기 위해 이미지를 자를 수 있는 ' -shave ' 기능이 있습니다:
mogrify -shave 1x1 -path path/to/images *@2x.9.png
mogrify -shave 2x2 -path path/to/images *@3x.9.png
mogrify -shave 3x3 -path path/to/images *@4x.9.png일반 DPI 이미지( @Nx 접두사가 없는 이미지)는 영향을 받지 않으므로, 고해상도(high DPI) 디스플레이용으로 제작된 이미지에 대해서만 이 명령을 실행하면 됩니다.
애니메이션 이미지
Imagine 스타일은 WebP 및 GIF 애니메이션 이미지 형식을 지원합니다.
사용자 지정
경로
Imagine 스타일에서는 이미지 에셋 선택에 사용되는 경로를 사용자 정의할 수 있습니다. 이 경로는 모든 창이나 항목에 지정할 수 있으며, ` fonts`와 동일한 방식으로 자식 요소로 자동으로 적용됩니다. 다음 예시에서는 창과 세 개의 라디오 버튼 모두 어두운 색상의 이미지 자산(`"qrc:/themes/dark"`에 위치한 파일)으로 표시됩니다.
|
|
QML에서 경로를 지정하는 것 외에도, 환경 변수나 구성 파일을 통해 경로를 지정할 수도 있습니다. QML에서 지정된 속성은 다른 모든 방법보다 우선합니다.
구성 파일
| 변수 | 설명 |
|---|---|
Path | Imagine 스타일 자산이 포함된 디렉터리의 경로를 지정합니다. 지정하지 않으면 내장된 자산이 사용됩니다. 예를 들어, 리소스 시스템에 저장된 디렉터리의 경로를 지정하려면: 로컬 디렉터리에 대한 상대 경로를 지정하려면: 참고: 기술적 제한으로인해 , 경로가 ` |
구성 파일에 대한 자세한 내용은 ‘Qt Quick Controls 구성 파일’을 참조하십시오.
환경 변수
| 변수 | 설명 |
|---|---|
QT_QUICK_CONTROLS_IMAGINE_PATH | Imagine 스타일 자산이 포함된 디렉터리의 경로를 지정합니다. 지정하지 않으면 내장 자산이 사용됩니다. 예를 들어, 리소스 시스템에 저장된 디렉터리의 경로를 지정하려면: 로컬 디렉터리에 대한 상대 경로를 지정하려면: 참고: 기술적 제한으로인해 , 경로가 ` |
QT_QUICK_CONTROLS_IMAGINE_SMOOTH | 9-패치 이미지의 부드러운 크기 조정을 활성화하려면 1 로 설정하십시오. 이 환경 변수는 Qt 6.5에서 추가되었습니다. |
지원되는 환경 변수의 전체 목록은 Qt Quick Controls 의 ‘지원되는 환경 변수’ 항목을 참조하십시오.
팔레트
Imagine 스타일은 palette 속성과 qtquickcontrols2.conf 파일을 통해 팔레트 사용자 지정을 지원합니다. 다른 스타일과 마찬가지로, Imagine 스타일이 사용하는 정확한 palette roles 는 스타일에 따라 다릅니다. 그러나 컨트롤의 시각적 외관(예: 배경) 대부분은 이미지 자산을 통해 관리되므로, 일반적으로 텍스트에 사용되는 역할에만 효과가 적용됩니다.
글꼴
font 속성과 구성 파일을 통해 사용자 정의 글꼴을 설정할 수 있습니다.
의존성
Imagine 스타일에 특화된 속성을 사용하려면 Imagine 스타일을 별도로 임포트해야 합니다. Imagine 스타일에 대한 참조 여부와 관계없이 동일한 애플리케이션 코드는 다른 어떤 스타일로도 실행된다는 점에 유의해야 합니다. Imagine 전용 속성은 애플리케이션이 Imagine 스타일로 실행될 때만 적용됩니다.
항상 로드되는 QML 파일에 Imagine 스타일이 임포트된 경우, 어떤 스타일로 애플리케이션을 실행하든 상관없이 애플리케이션을 실행할 수 있도록 하려면 Imagine 스타일을 애플리케이션과 함께 배포해야 합니다. 파일 선택기를 사용하면 스타일에 대한 고정된 의존성을 생성하지 않고도 스타일별 조정을 적용할 수 있습니다.
부착 속성 문서
Imagine.path: string |
이 부착 속성은 이미지 자산의 경로를 저장합니다...
Button {
Imagine.path: "qrc:/themes/dark"
}관련 정보
© 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.






































































































































































































































































































