Мне нужно создать прозрачный альфа-виджет, это в основном панель навигации с тенью, а виджеты ниже должны быть частично видны сквозь тень. Виджет загружает PNG, а затем рисует его в событии рисования. Проблема в том, что вся тень черная и не альфа-прозрачная.
Это код, который я сейчас использую:
NavigationBar::NavigationBar(QWidget *parent) : XQWidget(parent) {
backgroundPixmap_ = new QPixmap();
backgroundPixmap_->load(FilePaths::skinFile("NavigationBarBackground.png"), "png");
setAttribute(Qt::WA_NoBackground, true); // This is supposed to remove the background but there's still a (black) background
}
void NavigationBar::paintEvent(QPaintEvent* event) {
QWidget::paintEvent(event);
QPainter painter(this);
int x = 0;
while (x < width()) {
painter.drawPixmap(x, 0, backgroundPixmap_->width(), backgroundPixmap_->height(), *backgroundPixmap_);
x += backgroundPixmap_->width();
}
}
Кто-нибудь знает, что мне нужно изменить, чтобы убедиться, что виджет действительно прозрачный?