2016-08-08 6 views
3

QtQuickControls 2를 내 앱의 QQuickItem 파생 클래스와 함께 사용합니다. 내가 AA_EnableHighDpiScaling 속성을 설정하고 모든 QQuickControls 2 구성 요소가 내 스마트 폰에서 올바르게 보이지만 내 사용자 정의 클래스의 객체가 잘못 스케일됩니다.QQuickItem 파생 클래스의 높은 DPI 스케일링

Incorrect display of QQuickItem

그것을 여기

Correct display of QQuickItem

그리고 최소 줌 배율과 하나가되어 여기 HighDpi 최소 줌 (이 일을 의미하는 방식)을 확장하지 않고 응용 프로그램입니다 두 번째 화면에서 객체의 크기가 너무 많이 조정되어 QPixmap 또는 QImage로 그릴 모든 텍스처의 정사각형 픽셀을 볼 수 있습니다. 그러나 외부 메모리 및 QSGGeometryNode와 같은 노드에서로드 한 이미지가 올바르게 보입니다. 하나의 특정 QQuickItem에 대한 스케일링 기능을 끌 수 있습니까? 그렇다면 올바르게 렌더링하기 위해 무엇을 설정해야합니까?

또한 장면 그래프 노드 트리에서 QSGOpacityNodes가 많은 QQuickItem에 불투명도를 설정하려고하면 세그먼트 화 오류가 발생합니다. 무엇이 이것을 일으킬 수 있습니까?

답변

1

그래서 QSGTexture의 크기를 QQuickWindow :: effectiveDevicePixelRatio()로 나누고이 비율로 텍스처가 생성 된 이미지의 크기를 곱해서이 문제를 해결했습니다. QImage에서 텍스트를 그리는 경우 글꼴 크기를이 비율로 곱해야합니다. 기하학적 모양과 QPixmap :: scaled()도 똑같이해야합니다.