2012-03-31 7 views
5
#include <QtGui> 

class Label : public QLabel 
{ 
public: 
    Label(QWidget *parent =0) : 
     QLabel(parent) 
    { 
     resize(100, 100); 
     setText("hello"); 
     show(); 
    } 
}; 

int main(int argc, char *argv[]) 
{ 
    QApplication a(argc, argv); 

    Label l; 

    return a.exec(); 
} 

배경이 'hello'인 레이블을 출력합니다. 나는 Qt4를 사용하고있다. 이 라벨의 배경을 완전히 투명하게 만들고 싶습니다. 그러나 setWindowOpacity은 전체 위젯 투명성을 변경합니다. 나는 그 내용을 그대로 원하지만 배경은 투명해야합니다. 당신이 0의 알파와 QColor을 정의하면Transpaprent QLabel

+2

"Qt 4.1의 투명한 배경"이라는 제목의 기사가 있습니다 : http://doc.qt.nokia.com/qq/qq16-background.html이 방법이 효과가 있습니까? – aldo

+0

@aldo - Nokia 문서가 더 이상 온라인 상태가 아닙니다. –

답변

12

나는 간단한으로이 발견 ....

QWidget::setAttribute(Qt::WA_TranslucentBackground); 
0

당신은 예를 들어, 그래서 투명한 색으로 배경을 얻을 것이다 : 라벨의 배경은 어떤 색상을 투명하게해야

QColor bg_color(255, 0, 0, 0); 
QPalette p(l.palette()); 
p.setColor(QPalette::BackgroundColor, bg_color); 
l.setPalette(p); 

합니다. PyQt는에

setStyleSheet("background-color: rgba(0,0,0,0%)"); 
8

당신은 색상과 배경의 알파 값을 설정하는 스타일 시트를 사용할 수

lbl.setAttribute (Qt.WA_TranslucentBackground, True)

관련 문제