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 由于 addSeries 和attachAxis 顺序问题导致无法显示曲线