Qt QChart标题背景

时间:2019-02-20 08:51:02

标签: c++ qt qwidget qchart

有人知道如何使QChart看起来像下图吗?

我已经创建了条形图QBarChart并设置了它的背景色和条形图的颜色,并删除了轴号,但是我不知道如何设置图表标题看起来像这样。

如何使标题的背景颜色和QChart宽度相同?

enter image description here

1 个答案:

答案 0 :(得分:0)

我按照Spinkoo的建议去做。

在MainWindow构造函数中创建了QLabel,并创建了用于将QLabel放置在QChart上的函数。必须在MainWindow的构造函数之后调用该函数,因为这样才能知道小部件和布局的所有大小和位置。在MainWindow的构造函数之后以及每次发生Resize事件时都会调用该函数。

void MainWindow::positionLabel()
{
    // ui->widget inside which is QChart
    // ui->verticalLayout inside which is ui->widget
    QPoint pos = ui->widget->pos() + ui->verticalLayout->geometry().topLeft();

    // m_title pointer to QLabel which is created inside constructor
    m_title->setGeometry(pos.x() + 10, pos.y() + 20, ui->widget->width() - 20, CHART_TITLE_SIZE * 2.2);

    this->repaint();

    return;

}

这几乎是一种解决方法,可能应该有一种方法来创建自定义QChart类,该类的外观与问题图表相同。因此,如果有人知道该怎么做,我将不胜感激。