Qt QChart 标题背景

Posted

技术标签:

【中文标题】Qt QChart 标题背景【英文标题】:Qt QChart title background 【发布时间】:2019-02-20 08:51:02 【问题描述】:

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

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

如何让标题的背景颜色和QChart一样宽?

【问题讨论】:

在图表上方添加一个 qlable 怎么样 想过,但问题是QChart在几个布局中,所以定位好有点棘手。 好吧,如果代码不大,您可以编辑帖子并添加它并尝试删除 【参考方案1】:

我按照 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 类,该类的外观与问题中的图表一样。所以,如果有人知道如何做到这一点,我会很感激分享。

【讨论】:

以上是关于Qt QChart 标题背景的主要内容,如果未能解决你的问题,请参考以下文章

QT -- QChart画柱状图

Qt 中 QChart 由于 addSeries 和attachAxis 顺序问题导致无法显示曲线

Qt 中 QChart 由于 addSeries 和attachAxis 顺序问题导致无法显示曲线

QT -- QChart画饼状图

Qt中的Qt Charts

Qt QChart之曲线图,饼状图,条形图使用