5

QLabel とピックスマップを含む MainWindow があります。透明にしたい(または不透明にしたくない)

以下のコードを使用しています。

ui->label->setAttribute(Qt::WA_TranslucentBackground);
ui->label->repaint();

しかし、うまくいかないようです。画像は変更なしで同じように見えます。また、次のステートメントを使用しようとしました。

    ui->label->setStyleSheet("background-color: rgba(255, 255, 255, 10);");

残念ながら、これもうまくいかないようです。

画像を透明にする方法や不透明度を下げる方法を知っている人はいますか?

お時間をいただきありがとうございます。

4

2 に答える 2

7

画像がそのままでは透明ではなく、透明にしたい場合は、次のようにすることができます。

QLabel *l = new QLabel(this);
QImage image(":/img/myimage.png");
QPainter p;
p.begin(&image);
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
p.fillRect(image.rect(), QColor(0, 0, 0, 50));
p.end();
l->setPixmap(QPixmap::fromImage(image));
于 2013-09-12T11:55:53.310 に答える
0

QGraphicsOpacityEffectをラベルに適用して、不透明度を調整できます。

于 2013-09-12T14:17:30.593 に答える