Неправильно накладывается фон виджета в 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. Если закоментить эту функцию, фон также будет отображаться криво.