2012-03-31 10 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は、ウィジェットの透明度全体を変更します。私はコンテンツをそのまま、背景だけを透明にしたい。例えば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

あなたが0のアルファにQColorを定義する場合は、透明色と背景を取得しますので、:

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)

関連する問題