小编mon*_*ber的帖子

在 openGL 开启的情况下使用 QLineSeries 时,无法正确将 QChartView 保存为图像

我正在尝试创建一个可以绘制大型数据集的应用程序(因此使用 OpenGL 对我来说很重要)。我用QChartView,QChartQLineSeries. 也为QLineSeries我打开使用 openGL。但是当我尝试将图表保存为图像时,我得到的绘图没有数据。我知道使用 openGL 时它会在图表绘图区域顶部QLineSeries创建一个,但我不知道如何访问它。QOpenGLWidget

那么问题是:如何将图表另存为带有绘制线条的图像?

一些图片:

我想要什么(不使用 openGL 绘图):

不使用 openGL 绘图

我得到什么(用 openGL 绘图):

使用 openGL 绘图

这是代码示例:

主窗口构造函数:

chartView = new QChartView(generate_sin_chart(), ui->centralWidget);
ui->centralWidget->layout()->addWidget(chartView);
Run Code Online (Sandbox Code Playgroud)

生成正弦图():

QLineSeries *series = new QLineSeries();
series->setUseOpenGL(true); //this line cause a problem

constexpr double PI = 3.14159265359;
for(int i = 0; i < 100; ++i)
{
    double temp = i*PI/6;
    series->append(temp, sin(temp));
}

QChart *chart = new QChart();
chart->legend()->hide();
chart->addSeries(series);
chart->createDefaultAxes();
chart->setTitle("Simple line chart example"); …
Run Code Online (Sandbox Code Playgroud)

c++ opengl qt qchart

4
推荐指数
1
解决办法
3819
查看次数

标签 统计

c++ ×1

opengl ×1

qchart ×1

qt ×1