问题标签 [qchart]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
15576 浏览

c++ - 将数据添加到 QLineSeries 后如何更新/重绘 QChart?

我正在生成一些我想使用QChart和朋友绘制图表的数据。这是我第一次使用QChart,所以基本上我所做的就是复制QLineSeries 示例并根据我的需要进行修改。我当前的代码如下所示:

当我运行此代码时,我希望我的新数据会显示在图表中,但事实并非如此,所以我的问题是:如何让图表更新以显示新数据?换句话说,我应该在注释读取的代码中放入什么[A]

0 投票
1 回答
761 浏览

c++ - Qt setUseOpenGL(true) 和 removeSeries() 不更新 QChart

问题

我正在使用 Qt LineChart,这个 QLineChart 可以加载和删除数据而不会在 CPU 渲染上出现问题。但是,当使用 setUseOpenGL(true) 时,QChart removeSeries() 不会正确更新我的 QLineChart。删除的数据在 QChart 上仍然可见。奇怪的是,当鼠标悬停在 QChart 上时,QChart 会更新并删除数据。

预期结果

调用 removeSeries() 后更新 QChart。

观察结果

QChart 未更新。

我试过的

  1. 调用 ChartView repaint() -- 没有效果
  2. 发出自定义 QEvent 以模拟鼠标悬停在 QChart 上 - 无效
  3. 将包含 QChartView 的 Widget 设置为 FullViewportUpdate -- 无效

我完全没主意了。欢迎所有建议。相关代码:

0 投票
1 回答
706 浏览

c++ - 如何强制 QChartView 仅绘制自身的一部分

我正在构建一个使用 QtCharts 库绘制测量数据的应用程序。应该提到的一些重要的事情是:

  1. 我正在处理时间序列。

  2. 测量数据是离线获取的,表示已经获取。我的程序只是从文件中读取它并显示它。

  3. 我正在使用一个 for 循环,它将数据点作为固定大小的块(比如 10000)并将它们添加到分散系列中。这样,数据被“重放”,用户可以在许多中间时间点看到测量数据的进展,而不仅仅是在所有数据点都被绘制之后。

  4. 我正在处理大量数据点,大约数百万。

在循环的每次迭代中,都会创建一个新的 QScatterSeries,附加数据点,将散点系列添加到图表中,然后重新绘制图表视图。一开始它很快,但随着时间的推移,要绘制的点数增加,绘制过程变得越来越慢。我知道我可以重新实现图表视图类的paintEvent 以使其仅重绘自身的一部分。我认为我可以通过仅更新具有新数据点的部分来使其更快。我将只计算添加新数据点的区域的坐标并使用paintEvent。但是我该怎么做呢?我尝试使用 QPainter 的 setClipRect() 方法,但做不到。提前致谢。

0 投票
0 回答
637 浏览

qt - 如何更改 QChartView 控件上图例的默认位置

我需要将图例放在图表底部(根据附加的打印屏幕在彩色框内)有什么建议吗?

我也希望图例显示在同一行,但是当我这样做时,文本会缩小。

在此处输入图像描述

0 投票
1 回答
4121 浏览

c++ - QT 在另一个小部件中插入小部件

我用 qt Creator 创建了一个 UI,在这个 UI 中只有一个按钮和一个小部件(我们分别称它为 button 和 char_container);我需要在chart_container 中以编程方式添加图表视图。我没有更改默认布局。

我尝试了以下代码,但它不起作用:

0 投票
0 回答
166 浏览

python - QChart中负责绘图更新的功能或插槽是什么?

我需要使用 Qchart 实时绘图,但它没有使用下面的代码进行更新。

所以我正在搜索负责情节更新的功能或插槽,所以我将自己激活它。

如果在最后而不是self.update,我把:

它正在运行一段时间,应用程序崩溃。

所有课程代码都在这里:

0 投票
1 回答
218 浏览

c++ - Qt5 - chartView->grab() 不捕获子元素

我正在尝试使用条形图格式在 QLabel 小部件中绘制数据。创建图表后,我使用 chartView->grab() 捕获它以插入 QLabel。此方法适用于饼图,但对于条形图,不显示子元素(QBarSeries 和 QBarSet)。

代码如下:

这是显示的图像。

在此处输入图像描述

如果相反,我会:

图表视图->显示();

弹出一个包含 QBarSeries 数据的窗口。关于为什么 grab() 方法没有捕获子元素的任何想法?

0 投票
1 回答
207 浏览

c++ - 无法使用 qlogvalueaxis.h 编译 Qt 项目

我目前正在开发用于控制仪器的 C++ 应用程序。仪器输出应使用 QChart 显示。对于显示,我创建了一个带有 QChartView 小部件的 Qt 用户界面。

这是显示类的头文件:

我需要 ChartDisplay 类的两个实例。一种是线性的,一种是对数比例的,用于显示不同的数据类型。

我在这里找到了关于使用对数轴缩放的 Qt 教程:

https://doc.qt.io/qt-5/qtcharts-logvalueaxis-example.html

但是,一旦我包含“qlogvalueaxis.h”,我的程序将不再编译。我得到一长串源自“qlogvalueaxis.h”的语法错误。

我创建了一个新的 Qt 项目并使用 qlogvalueaxis 实现了一个简单的对数缩放图表,效果很好。我还清理了整个项目并在编译之前删除了所有 qt 生成的文件。问题仍然存在。所有必要的库都已链接并且是最新的,头文件也是如此。

关于环境的一些信息: -Visual Studio 2015,社区版 -Qt 框架 5.8 -操作系统是 Win 7

任何人都会很感激任何建议。

最好的问候, T. Krastev

0 投票
0 回答
1017 浏览

qt - 在 QML 图表中自定义 BarSet

我正在尝试使用 QtCharts 2.1 更改条形图的外观。目前,我将所需的颜色和样式应用于单个 QBarSet,如下所示:

我可以在图表中看到带有默认颜色的 BarSet,但是我无法更改颜色。该代码产生以下控制台输出onHistogramChanged

我像这样从 C++ 更新 BarSeries:

我在这里做错了什么?

0 投票
1 回答
694 浏览

c++ - 单击 qchart 图的轴时捕获鼠标事件

我正在编写一个应用程序。在 QT c++ 中并有以下问题:单击 qchart 图表的轴(不在图表本身中)时是否可以捕获鼠标事件?

我试图覆盖轴实例的事件方法,但没有调用事件方法..

我还尝试使用 QChart 实例上的事件过滤器来解决问题,事件过滤器到目前为止有效。但是如何区分Axis和Qchart区域本身之间的鼠标点击呢?

如果单击轴,“obj”只会返回指向 QChart 实例的指针。

有人有这个问题的解决方案吗?谢谢!