2013-03-08 4 views
3

Windows 7 PC에서 Qt 4.8.4 (MSVC 2010)을 사용하여 소프트웨어 응용 프로그램을 개발 중입니다. QWidget 프레임 워크에서 QML/QtQuick 1.1 선언 프레임 워크로 전환했지만 QtQuick/QML에서는 텍스트 크기 조정이 매우 열악한 것으로 나타났습니다. 편지는 종종 잘 리거나 약간 비뚤어집니다.Qt Quick Score 1.1/QML

아래 이미지에서은 텍스트가 창 크기 조정으로 인해 크기가 조정되었지만 매번 다르게 보입니다. 여기

은 내가 사용하는 확장 기능이다.

scale: paintedWidth > maxWidth ? Math.max((maxWidth/Math.max(paintedWidth, 1)), 0.1) : 1 

는 기본적으로이 확장 기능은 아래에만 그것은에있는 컨테이너의 크기를 다음 큰 경우 텍스트 크기를 조절 그것은 예상대로 작동합니다.

QML/Qt Quick 1.1에서 텍스트 스케일링을 향상시킬 수있는 방법이 있는지 궁금한가요?

QtQuick 2에서는 텍스트 크기 조정과 관련하여 일부 작업이 완료되었지만 불행히도 UI를 QtQuick 2로 업그레이드하는 것은 현재 호환성 문제로 인해 가능하지 않습니다.

Bad QML Text Scaling

답변

4

당신이 그때 당신은 여전히 ​​인해 글꼴을 다른 크기로 렌더링 될 때 힌트에 부정을 알 수 있습니다 스케일링 애니메이션을하는 경우 smooth: true

을 설정하는 것입니다 시도하는 첫 번째 일은. 당신이있어 모양에 대한

smooth: true 
style: Text.Raised 
styleColor: "transparent" 

또 다른 이유 : 당신은 오히려 직접 텍스트를 그림보다 크기가 조정됩니다 이미지에 텍스트를 캐시 코드 경로에 텍스트 요소를 강요에서 어느 정도 성공을 가질 수있다 텍스트가 픽셀 정렬되어 있지 않을 수 있습니다. 즉, y은 정수가 아니거나 상위 요소의 y이 정수가 아닙니다.

+0

네, 그렇습니다. 부드럽게 설정하면 항상 상황이 상당히 좋아집니다. 비록 내가 픽셀 정렬되지 않음으로써 당신이 무엇을 의미하는지 이해하지 못 하겠지만? 나는 일반적으로 내 QML을 배치하기위한 앵커 사용에 전념한다. 나는 당신이 스케일링 된 텍스트의 높이를 계산하고 이것이 정수인지를 확인하는데 도움이 될 것이라고 제안하고 있다고 생각합니다. – stackunderflow

+0

이것은 픽셀 정렬되지 않았습니다 :'Text {y : 0.5; 텍스트 : "hello"}'. 앵커와 정수를 사용한다면 괜찮을 것입니다. – MartinJ

+0

Ah gotcha, yea 나는 항상 이런 이유로 앵커 기반 레이아웃을 고수합니다. – stackunderflow