Qt прозрачная картинка

Здравствуйте в общем проблема такая в QLabel и QPushButton стоит картинка формата .png Подскажите пожалуйста как эту картинку сделать прозрачной (еще раз картинку, а не фон). Пыталась сделать через css (Stylesheet("opacity:0.5")), не работает. Может есть какие-то другие способы, чтобы не сильно грузить программу. Заранее благодарю

1 Вариант (через css)
QString styleButtonStrela="QPushButton{opacity:0.5; image: url(:/img/icon/strela.png); height:50px; width:38px; border-width: 3px 3; border-style: double;"
                              "border-color:rgb(100, 100, 100) rgb(0, 0, 0) rgb(100, 100, 100) rgb(100, 100, 100); "
                              "background: linear-gradient(rgb(0, 0, 0), rgb(0, 0, 0)) rgb(233, 228, 228); border-radius: 11px;}"
                              "QPushButton:hover {background: linear-gradient(rgb(186, 189, 182), rgb(136, 138, 133)) rgb(186, 189, 182); }"
                              "QPushButton:pressed{background: linear-gradient(rgb(136, 138, 133), rgb(186, 189, 182)) rgb(136, 138, 133); }";

ui->numStrelka->setStyleSheet(styleButtonStrela);

2 вариант (картинка ниже)

введите сюда описание изображения


Ответы (1 шт):

Автор решения: Sergey Tatarincev

QPainter это "рисовалка". с ее помощью надо "нарисовать" новую картинку

QImage image(":/img/image");
QPainter p;
p.begin(&image);
p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
p.fillRect(image.rect(), QColor(0, 0, 0, 50));
p.end();
ui->label->setPixmap(QPixmap::fromImage(image));
→ Ссылка