2011-09-19 4 views
1

내 위젯에 이상한 호버 전용 투명성을 잃고 효과가 선언의 paintEvent에서Qt는 : 버튼

setAttribute(Qt::WA_NoSystemBackground); 

을, 나는 설정 :

painter.setOpacity(0.75); 

이 나에게 투사 할 수있는 기능을 제공하는에 PNG로 투명도가있는 전체 배경. 이것은 잘 작동합니다.

문제 : 내 위젯 위에 투명한 png가있는 QPushButton을 추가하고 있습니다. 버튼 이미지 (Qt CSS에서 파생 됨)의 불투명 한 부분이 올바르게 표시되고 투명한 영역은 내 위젯의 그려진 배경과 함께 남아 있습니다. 이는 이미 다소 투명합니다. 내가 이미지 위에있을 때, 내 CSS는 내 QPushButton이 이미지를 변경하도록 지시합니다. 그런 경우 버튼 이미지의 불투명 한 부분이 올바르게 표시되지만 투명 영역의 경우 마치 내 불투명도로 배경 이미지를 다시 그리는 것처럼 보입니다.

이는 Windows에서만 발생합니다. OS X에서 잘 작동합니다. 그 점에서 Windows에 버그가 있는지 궁금해하고 있었고 해결 방법이 있다면 궁금합니다.

+0

나는 이것이 노키아의 버그 보고서에 더 잘 속한다고 가정합니다. 그들은 그들에게 상당히 신속하게 반응합니다. – ypnos

답변

1

setAttribute(Qt::WA_NoSystemBackground); 

이 ... OS의 X 충분 동안 창에

당신도 추가해야한다고 밝혀 : 그것을 처리했다

setAttribute(Qt::WA_TranslucentBackground); 

. 문제가 해결되었습니다.