이 페이지에서

고급 컴포넌트 속성 설정

Properties 보기의 AdvancedLayer 섹션에서는 Item 컴포넌트에서 상속되고 애플리케이션 개발자가 주로 사용하는 컴포넌트의 고급 속성을 관리할 수 있습니다.

속성의 고급 섹션으로 이동합니다.

Smooth 을 선택하여 스무딩 샘플링을 활성화합니다. 스무스 샘플링은 선형 보간을 사용하여 수행되는 반면, 비스무스 샘플링은 가장 가까운 이웃을 사용하여 수행됩니다. 스무스 샘플링은 성능에 미치는 영향이 최소화되므로 기본적으로 활성화되어 있습니다.

앤티앨리어싱은 화면에서 곡선을 더 부드럽게 만드는 데 사용됩니다. 앤티앨리어싱을 켜려면 Antialising 을 선택합니다.

Baseline offset 값은 컴포넌트의 기준선 위치를 로컬 좌표로 지정합니다. Text 컴포넌트의 기준선은 텍스트가 놓이는 가상의 선입니다. 텍스트가 포함된 컨트롤은 일반적으로 기준선을 텍스트의 기준선으로 설정합니다. 텍스트가 아닌 컴포넌트의 경우 기본 기준선 오프셋인 0이 사용됩니다.

마우스 및 키보드 이벤트 관리

컴포넌트가 마우스 및 키보드 이벤트를 수신하도록 허용하려면 Enabled 을 선택합니다. 이 값을 명시적으로 설정하지 않는 한 컴포넌트의 하위 컴포넌트는 이 동작을 상속합니다.

Focus 확인란을 활성화하여 컴포넌트에 활성 포커스가 있음을 지정하고 Focus on tab 확인란을 활성화하여 탭 포커스 체인에 컴포넌트를 추가할 수 있습니다. 탭 포커스 체인은 먼저 상위 컴포넌트를 방문한 다음 정의된 순서대로 하위 컴포넌트를 방문하는 방식으로 컴포넌트를 이동합니다. 탭 포커스 체인에 있는 컴포넌트에서 Tab 키를 누르면 키보드 포커스가 체인의 다음 컴포넌트로 이동합니다. 뒤로 탭(일반적으로 Shift+Tab)을 누르면 이전 컴포넌트로 초점이 이동합니다.

레이어 사용

Qt Quick 는 전용 씬 그래프를 사용한 다음 OpenGL ES, OpenGL, Vulkan, Metal 또는 Direct 3D와 같은 그래픽 API를 통해 트래버스 및 렌더링합니다. 기존의 명령형 페인팅 시스템 대신 그래픽에 씬 그래프를 사용하면 렌더링할 장면을 프레임 간에 유지할 수 있고 렌더링할 전체 프리미티브 세트를 렌더링 시작 전에 알 수 있습니다. 따라서 상태 변화를 최소화하기 위한 일괄 렌더링과 가려진 프리미티브 버리기 등 다양한 최적화를 수행할 수 있습니다.

예를 들어, UI에는 각 항목에 배경색, 아이콘, 텍스트가 있는 10개의 항목 목록이 포함될 수 있습니다. 전통적인 드로잉 기법을 사용하면 30번의 그리기 호출과 비슷한 양의 상태 변경이 발생합니다. 반면 씬 그래프는 프리미티브를 재구성하여 모든 배경을 한 번의 호출로 그린 다음 모든 아이콘과 텍스트를 그리도록 렌더링하여 총 드로우 호출 수를 3개로 줄일 수 있습니다. 이렇게 일괄 처리 및 상태 변경을 줄이면 일부 하드웨어에서 성능을 크게 향상시킬 수 있습니다.

레이어 속성을 설정하려면 컴포넌트가 렌더링되는 방식에 대한 기본적인 이해가 필요합니다. 렌더링은 Qt Quick 씬 그래프 기본 렌더러에 설명되어 있습니다.

레이어 속성.

컴포넌트는 일반적으로 해당 컴포넌트가 속한 창에 직접 렌더링됩니다. 그러나 Layer 섹션에서 Enabled 을 선택하면 컴포넌트와 그 하위 트리 전체를 화면 밖 서피스로 위임할 수 있습니다. 그러면 화면 밖의 표면인 텍스처만 창에 그려집니다. 자세한 내용은 Item Layers 을 참조하십시오.

레이어링이 활성화된 경우 Effect 필드에서 선택한 컴포넌트와 함께 컴포넌트를 텍스처로 직접 사용할 수 있습니다. 일반적으로 이 컴포넌트는 소스 텍스처가 지정된 셰이더 효과여야 합니다.

컴포넌트가 레이어의 화면 밖 표면을 이펙트에 올바르게 전달하도록 하려면 Sampler name 필드를 텍스처의 소스 프로퍼티로 설정합니다.

컴포넌트의 레이어가 활성화되면 씬 그래프는 GPU에 너비 x 높이 x 4만큼 메모리를 할당합니다. 메모리 제약이 있는 구성에서는 큰 레이어를 신중하게 사용해야 합니다. 또한 레이어를 사용하는 컴포넌트는 렌더링 중에 일괄 처리할 수 없습니다. 즉, 레이어 컴포넌트가 많은 씬에서는 성능 문제가 발생할 수 있습니다.

기본적으로 멀티샘플링은 시나리오 렌더러가 사용 중이고 기본 그래픽 API가 이를 지원하는 경우 전체 창에 대해 활성화됩니다. Samples 필드에 값을 설정하여 장면의 일부에 대해 멀티샘플링을 요청할 수 있습니다. 이렇게 하면 특정 서브트리에만 멀티샘플링이 적용되므로 성능이 크게 향상될 수 있습니다. 하지만 멀티샘플링을 활성화하면 하드웨어 및 드라이버에 따라 성능과 메모리 비용이 발생하므로 레이어의 크기에 관계없이 비용이 많이 들 수 있습니다. 멀티샘플 렌더버퍼 및 프레임버퍼 블릿을 지원하지 않는 경우 이 값은 자동으로 무시됩니다.

Format 필드의 값은 텍스처의 내부 OpenGL 형식을 지정합니다. OpenGL 구현에 따라 텍스처 메모리를 일부 절약할 수 있습니다. 그러나 RGBAlpha 값은 기본 하드웨어 및 드라이버가 지원하지 않을 수 있으므로 주의해서 사용하세요.

Texture mirroring 필드에서 생성된 OpenGL 텍스처를 x축 또는 y축을 따라 뒤집어 미러링할지 여부를 지정합니다. 커스텀 미러링은 생성된 텍스처가 커스텀 셰이더에 직접 액세스하는 경우 유용할 수 있습니다. 레이어드 컴포넌트에 효과를 지정하지 않으면 미러링은 컴포넌트의 UI 표현에 영향을 미치지 않습니다.

Smooth 을 선택한 경우 컴포넌트는 스케일링에 선형 보간을 사용합니다. 다운샘플링에 밉맵을 사용하려면 Mipmap 을 선택합니다. 밉매핑을 사용하면 다운스케일된 컴포넌트의 시각적 품질이 향상될 수 있습니다. 단일 Image 컴포넌트의 밉매핑을 사용하려면 이미지 속성에서 Mipmap 을 선택합니다.

컴포넌트의 크기와 다른 텍스처를 사용하려면 Texture size 필드에 텍스처의 너비와 높이를 지정합니다.

Wrap mode 은 텍스처와 관련된 OpenGL 줄 바꿈 모드를 정의합니다. 텍스처를 가장자리에 고정하거나 가로 및 세로로 반복할 수 있습니다. 일부 OpenGL ES 2 구현은 2의 거듭제곱이 아닌 텍스처의 Repeat 래핑 모드를 지원하지 않습니다.

방법도참조하세요 : Qt Quick UI 디자인하기, Qt Quick UI 디자인하기, Qt Quick UI 디자인하기를 참조하세요.

Copyright © The Qt Company Ltd. and other contributors. 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.