Qt QPushButton 투명 관련

Qt 2011. 7. 7. 19:38



1. 제목 표시줄을 없앤, 작업 표시줄에 표시 안되는 위젯을 하나 띄운다.
2. setMask()를 이용해서 필요없는 부분을 날린다



setMask()를 사용해야 한다.

1. 위젯의 크기와 똑같은 QBitmap객체 생성
2. QBitmap객체를 1 Pixel value로 채움
3. 위젯과 객체를 겹쳤을 때 사라지는 부분에 해당하는 객체의 영역을 0 pixel value로 채움
4. setMask(QBitmap객체)



m.1

 QBitmap TransparentMask(pb_secondBt1->width(), pb_secondBt1->height());
 TransparentMask.fill(Qt::color1);
 QPainter painter;
 painter.begin(&TransparentMask);
 painter.fillRect(QRect(0,0,50,50), Qt::color0);
 painter.end();
 SetMask(TransparentMask);





m. 2
 QRegion maskedRegion(10,3,45,50, QRegion::Rectangle);
 pb_secondBt1->setMask(maskedRegion);





'Qt' 카테고리의 다른 글

Qt list, auto scroll, 자동 스크롤 바  (0) 2011.07.14
Qt Quick(QML) 마우스 이벤트 이미지 변화  (0) 2011.07.01
Qt Reference Documentation  (0) 2011.07.01
Exporting from Adobe Photoshop to QML  (0) 2011.06.30
Qt (Font,Size,Color)  (0) 2011.06.30
Posted by 요지
,