QML
← 전체 컴포넌트

Icon

텍스트나 컨트롤 옆에 기호 또는 이미지를 표시해 동작과 상태를 알아보기 쉽게 합니다.

import Syidax.Core.Icon

지원 QML 타입

타입정의 / 역할
아이콘 소스를 크기·색상·상태에 맞춰 표시합니다.

예제로 보기

미리보기는 Qt 실행 화면의 이미지입니다. 아래 버튼으로 결과를 전환하세요.

01 기본 기호

Icons의 이름으로 필요한 기호를 선택합니다.

Qt 실행 화면 · 이미지
기본 기호 · 기본
기본 실행 화면
QML 코드
import QtQuick
import Syidax.Core

Row { spacing: 24
    SyIcon { source: Icons.inputSearch; size: "xxlarge" }
    SyIcon { source: Icons.bannerInfo; size: "xxlarge" }
    SyIcon { source: Icons.toastSuccess; size: "xxlarge" }
    SyIcon { source: Icons.modalClose; size: "xxlarge" }
}

02 기호 크기

지원하는 네 가지 아이콘 크기를 비교합니다.

Qt 실행 화면 · 이미지
기호 크기 · 기본
기본 실행 화면
QML 코드
import QtQuick
import Syidax.Core

Row { spacing: 24
    SyIcon { source: Icons.inputSearch; size: "small" }
    SyIcon { source: Icons.inputSearch; size: "medium" }
    SyIcon { source: Icons.inputSearch; size: "xxlarge" }
    SyIcon { source: Icons.inputSearch; size: "xxxxlarge" }
}

03 테마·사용자 지정 색상

단색 기호에 테마 색상이나 지정한 색상을 적용합니다.

Qt 실행 화면 · 이미지
테마·사용자 지정 색상 · 기본
기본 실행 화면
QML 코드
import QtQuick
import Syidax.Core

Row { spacing: 24
    SyIcon { source: Icons.bannerInfo; size: "xxlarge"; color: Theme.semantic.iconDefault }
    SyIcon { source: Icons.bannerInfo; size: "xxlarge"; color: "#167dbe" }
    SyIcon { source: Icons.bannerInfo; size: "xxlarge"; color: "#d14040" }
}

04 리본 컬러 아이콘

리본 아이콘은 원래의 색상을 유지합니다.

Qt 실행 화면 · 이미지
리본 컬러 아이콘 · 기본
기본 실행 화면
QML 코드
import QtQuick
import Syidax.Core

Row { spacing: 24
    SyIcon { source: Icons.ribbonSave; size: "xxxxlarge" }
    SyIcon { source: Icons.ribbonPaste; size: "xxxxlarge" }
    SyIcon { source: Icons.ribbonPicture; size: "xxxxlarge" }
}

05 SVG와 원래 가로세로 비율

가로가 긴 SVG의 원래 비율을 유지합니다.

Qt 실행 화면 · 이미지
SVG와 원래 가로세로 비율 · 기본
기본 실행 화면
QML 코드
import QtQuick
import Syidax.Core

SyIcon {
    size: "xxxxlarge"; naturalAspect: true
    svgMarkup: '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 80 32"><rect width="80" height="32" rx="8" fill="#167dbe"/></svg>'
}

06 선택 이벤트

마우스·키보드로 활성화하면 selected(value)를 받습니다.

Qt 실행 화면 · 이미지
선택 이벤트 · 기본
QML 코드
import QtQuick
import Syidax.Core

Column {
    spacing: 12
    SyIcon { id: symbol; source: Icons.bannerInfo; size: "xxxxlarge"; selectable: true
        accessibleName: "정보 표시"
        onSelected: value => result.text = "선택: " + value
    }
    Text { id: result; text: "정보 아이콘을 선택하세요."; color: Theme.semantic.textDefault; width: 440; wrapMode: Text.Wrap }
}

API 32

항목을 가리키거나 선택하면 QML 예제와 복사 버튼이 나타납니다.

속성

속성타입기본값설명
url—글리프: Icons.* 리소스 또는 임의의 SVG / 이미지 url.
string""비어 있지 않으면 source 대신 그려지는 인라인 SVG 글자.
string"medium"xxsmall 10 · xsmall 12 · small 14 · medium 16 · large 18 · xlarge 20 · xxlarge 24 · xxxlarge 30 · xxxxlarge 40 px.
colorTheme.semantic.iconDefault단색 글리프의 색. 내장 컬러 아이콘은 원본 색상을 유지합니다.
boolfalse정사각형 상자 대신 이미지 고유의 폭·높이 비율 유지.
boolfalse포인터 커서와 탭 시 selected.
int (읽기 전용)16size 뒤의 픽셀 크기.
url (읽기 전용)—data url로 된 svgMarkup, 아니면 source.
real (읽기 전용)1읽어 온 이미지의 폭 ÷ 높이.
enumeration (읽기 전용)Image.NullImage.Null · Loading · Ready · Error.
string (읽기 전용)—selected가 전달하는 것: svgMarkup 또는 source 문자열.
var (읽기 전용)—이름 → 픽셀 맵.

메서드

항목동작 / 조건
SyIcon에는 메서드가 없습니다. source, svgMarkup, size, color를 바꾸면 다시 그려집니다.

시그널

시그널인자시점
value: stringselectable 아이콘의 탭. value는 마크업 또는 source url.
—로딩 상태가 바뀜(속성 자체의 시그널).

동작

항목동작 / 조건
data url로 된 svgMarkup, 아니면 source.
비어 있지 않으면 source 대신 그려지는 인라인 SVG 글자.
글리프: Icons.* 리소스 또는 임의의 SVG / 이미지 url.
단색 글리프의 색. 내장 컬러 아이콘은 원본 색상을 유지합니다.
Image.Null · Loading · Ready · Error.
xxsmall 10 · xsmall 12 · small 14 · medium 16 · large 18 · xlarge 20 · xxlarge 24 · xxxlarge 30 · xxxxlarge 40 px.
size 뒤의 픽셀 크기.
pixelSize가 그 숫자이고, implicitWidth와 implicitHeight는 pixelSize이거나, naturalAspect면 폭이 pixelSize × naturalRatio(이미지 고유의 폭 ÷ 높이)이며 그림은 높이만으로 래스터화됩니다.
pixelSize가 그 숫자이고, implicitWidth와 implicitHeight는 pixelSize이거나, naturalAspect면 폭이 pixelSize × naturalRatio(이미지 고유의 폭 ÷ 높이)이며 그림은 높이만으로 래스터화됩니다.
정사각형 상자 대신 이미지 고유의 폭·높이 비율 유지.
읽어 온 이미지의 폭 ÷ 높이.
width / height를 직접 정해도 되며 글리프가 맞춰 커집니다.
width / height를 직접 정해도 되며 글리프가 맞춰 커집니다.
포인터 커서와 탭 시 selected.
selectable 아이콘의 탭. value는 마크업 또는 source url.
selected가 전달하는 것: svgMarkup 또는 source 문자열.

키보드

항목동작 / 조건
Icons(글리프 카탈로그, *전체 글리프* 페이지 참조), SyButton(icon.source와 iconOnly), SyAvatar(글리프 아바타의 icon), SyBadge / SyTag(아이콘을 품은 상태 표시).