2011-10-13 3 views
1

QWidget을 부분적으로 반투명으로 만들고 있습니다.QWidget per-pixel translusency

QWidget::setMask은 픽셀 당 투명도 인 like this을 설정할 수 있지만, 또는 : transluscent가 아닙니다.

QWidget::opacity은 글로벌 병합 성을 설정할 수 있지만 픽셀 단위가 아닙니다.

두 세계를 최대한 활용하고 픽셀 단위의 알파 채널을 전체 위젯에 추가하려면 어떻게해야합니까? (장식은 중요하지 않습니다.)

+1

가능한 복제본 : http://stackoverflow.com/questions/1333610/displaying-translucent-irregular-shaped-windows-with-qt 픽셀 단위의 경우 알파 채널을 사용하여 'QPixmap'을 칠할 수 있습니다. 배경. – alexisdm

+0

위의 의견에 동의해야합니다. 위 링크의 설정에 따라 페인트 이벤트에서 원하는 것을 칠하십시오. –

답변

0

QWidget::setMaks()?

QLabel topLevelLabel; 
QPixmap pixmap(":/images/tux.png"); 
topLevelLabel.setPixmap(pixmap); 
topLevelLabel.setMask(pixmap.mask()); 
+0

원래 게시물에서 언급했듯이, 그것은 transluscent 아니에요 (마스크 비트 맵) – spraff

0

QStyle 클래스가 귀하가 찾고있는 것 같습니다. esp. QStyle :: drawItemPixmap; 그런 다음 QWidget :: setStyle()을 사용하십시오. 결코 이것을 사용하지 마십시오.