Неправильно накладывается фон виджета в Qt при использовании QChartView

Я не мог понять почему у меня некорректно отображается фон когда я добавляю в свой основной виджет QChartView.

MainWindow::MainWindow( QWidget* parent, Qt::WindowFlags f) : QWidget(parent, f)
{


    setBackgroundImage(":/4015db3053c401bf5c6d3eef84d7c583.jpg");
    series = new QPieSeries();
    initializeCategories();
    updateChartSeries();
    QChart* chart = new QChart();
    chart->addSeries(series);
    chart->legend()->hide();
    chart->setBackgroundBrush(Qt::NoBrush);
    chart->setPlotAreaBackgroundVisible(false);


    /*QChartView* chartView = new QChartView(chart);
    chartView->setBackgroundBrush(QBrush(QColor(255, 255, 255, 0)));
    chartView->setRenderHint(QPainter::Antialiasing);
    chartView->setParent(this);
    chartView->setGeometry(-5, 50, 600, 400);*/

    
    gridLayout.setAlignment(Qt::AlignCenter);
    //layout->setGeometry();
    QWidget* container = new QWidget(this);
    container->setLayout(&gridLayout);
    container->setGeometry(0, 25, 650, 100);


    QPushButton* btn = new QPushButton("Add expense", this);
    btn->setGeometry(200, 420, 200, 100);
    btn->setStyleSheet("background-color: #ED2442; color: white; font-weight: bold; font: 14pt");
    connect(btn, &QPushButton::clicked, this, &MainWindow::addExpenses);
        
}
void MainWindow::setBackgroundImage(const QString& imagePath)
{
    QPixmap bkgnd(imagePath);

    bkgnd = bkgnd.scaled(this->size(), Qt::IgnoreAspectRatio, Qt::SmoothTransformation);

    QPalette palette;
    palette.setBrush(QPalette::Window, bkgnd);
    this->setPalette(palette);
    this->setAutoFillBackground(true);
}

Как отображается фон когда есть QChartView введите сюда описание изображения

Как отображается фон когда QChartView закоментирован

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

Я на всякий случай отмечу то что в updateChartSeries добавляются все QPieSlice. Если закоментить эту функцию, фон также будет отображаться криво.


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