2011-05-07 1 views
1

투명한 이미지 만 될 위젯이나 창을 만들려면 어떻게해야합니까? 는이 프로그램에서 같은 것을 의미한다 : 내가 뭘하려 sakura script player
은 다음과 같습니다이미지의 Qt 위젯 모양

label = QtGui.QLabel(None, 
        QtCore.Qt.FramelessWindowHint | QtCore.Qt.WindowStaysOnTopHint) 
label.setPixmap(QtGui.QPixmap('c:\transparent.png')) 
label.setScaledContents(True) 

label.show() 

하지만 이미지의 투명성에도 불구하고, 단지 사각형 창을 생성

당신은 QWidget::setMask() 하나의 조합을 사용
+0

PyQt4 | Python3.2 | Windows7을 사용했지만, 'crossplatform'코드를 얻으려고 시도하는 것을 잊어 버렸습니다. – chapaev

+0

OK, 해결했습니다! 여기 예 (plane.png 내용의 알파 채널) : pixmap = QtGui.QPixmap ('c : \ plane.png') label.setPixmap (pixmap) label.setMask (pixmap.mask()) shitty formatting system – chapaev

답변

2

예전에는 Qt 배포판에 xpenguin과 같은 예가 있었지만 모양이있는 시계로 바뀌 었습니다 (Qt 3.3이있는 경우 examples/tux/tux.cpp을 확인하십시오).