Заголовок Qt QChart

Кто-нибудь знает, как заставить QChart выглядеть на картинке ниже?

Я создал панель QBarChart и установил ее цвет фона и цвет панели, а также удалил номера осей, но я не знаю, как установить заголовок диаграммы так, как это выглядит.

Как заставить фон заголовка иметь другой цвет и иметь такую ​​же ширину, что и QChart?

1 ответ

Я сделал так, как предложил Спинку.

Создал QLabel в конструкторе MainWindow и создал функцию, которая используется для позиционирования 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, который будет выглядеть как диаграмма из вопроса. Так что, если кто-то знает, как это сделать, я буду признателен.

Другие вопросы по тегам