アルファ透過ウィジェットを作成する必要があります。これは基本的には影付きのナビゲーション バーであり、下のウィジェットは影を通して部分的に見える必要があります。ウィジェットは 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();
}
}
ウィジェットが本当に透明であることを確認するために何を変更する必要があるか知っている人はいますか?