2010-12-17 3 views
1

다음을 수행하는 QStyleSheet에 그라데이션을 만들고 싶습니다. 1) 투명 상위 40 %. 2) 검은 색에서 흰색으로가는 불투명 한 중간 20 %. 3) 투명한 바닥 40 %.QScrollBar 스타일 시트 - 다중 방향 그라데이션이 필요합니다.

좋은 예는 3 색 플래그를 생각하는 것입니다.하지만 위아래가 투명하고 위쪽과 아래쪽이 투명하고 중앙이 단색에서 흰색으로 바뀌기를 원합니다.

기본적으로 다음 두 선형 그래디언트를 병합하고 싶습니다.하지만 그렇게 할 지식이 부족합니다.

배경색 : QLinearGradient (확산 : 패드 X1 : 0, Y1 : 0, X2 : 0, Y2 : 1 STOP : 0.39 RGBA (0, 0, 0, 0), STOP : 0.4 RGBA (0,0,0,255), 중지 : 0.6 rgba (0,0,0,255), 중지 : 0.61 rgba (0, 0, 0, 0) );

와 ...

배경색 : QLinearGradient (확산 : 패드 X1 : 0, Y1 : 0, X2 : 1, Y2 : 0 STOP : 0 RGBA (0, 0, 0, 255), stop : 1 rgba (255, 255, 255, 255) );

답변

1

그래디언트를 사용하여 그라디언트를 사용할 수는 있지만 어려울 것 같아요.

그러나 더 쉬운 방법은 스크롤 막대의 스타일 그리기를 무시하고 클리핑하는 동안 검정/흰색 그라디언트를 페인트하여 원하는 영역이 여전히 투명하게 유지되도록하는 것입니다. 불행하게도이 솔루션은 스타일 시트에만 의존하지 않습니다.

세 번째 옵션은 플랫폼 및 기능에 따라 이미지를 만들고 해당 이미지에 배경을 설정하는 것입니다 (필요한 경우).