当使用OpenGL的QLineSeries时,不能正确地将QChartView保存为图片。
我正在尝试创建一个可以绘制大数据集的应用程序(因此使用OpenGL对我很重要).我使用QChartView,QChart和QLineSeries.同样对于QLineSeries,我使用OpenGL打开.但是,当我试图将图表保存为图像时,我会在没有数据的情况下获得绘图.我知道,当QLineSeries使用OpenGL时,它会在图表绘图区域的顶部创建A QOpenGLWidget,但我不知道HO可以访问它. 所以一个问题是:如何将图表保存为带有绘制线的图像? 一些图像: 我想要的(不使用OpenGL的地块): 我得到的(带有OpenGL的情节): 这是代码的示例: mainwindow构造函数: chartView = new QChartView(generate_sin_chart(), ui->centralWidget); ui->centralWidget->layout()->addWidget(chartView); generat
86 2023-03-01
编程技术问答社区
在数据被添加到QLineSeries后,如何更新/重绘QChart?
我正在生成一些我想使用 QCHART 和朋友来绘制的数据.这是我第一次使用QChart,因此基本上我所做的是复制 qlineseries示例并根据我的需求进行修改.我当前的代码看起来像这样: quint64 last=0; quint64 *lastp=&last; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) , series( nullptr ) { ui->setupUi(this); QChart *chart = new QChart(); series=new QLineSeries(chart); chart->legend()->hide(); chart->addSeries(series); chart->createDefaultAxes();
10 2023-02-27
编程技术问答社区
QT在其他小组件内插入小组件
我已经使用QT创建者创建了一个UI,在此UI中只有一个按钮和一个小部件(我们分别将其称为按钮和char_container); 我需要在Chart_Container中以编程方式添加图表视图. 我没有更改默认布局. 我已经尝试了以下代码,但它不起作用: void MainWindow::button_slot(){ QtCharts::QChart *chart = new QtCharts::QChart(); QtCharts::QChartView *chartView = new QtCharts::QChartView(chart); chartView->setParent(ui->chart_container); this.repaint(); } 解决方案 在另一个内部添加小部件的最佳方法是使用布局,如下所示: //on constructor ui->chart_container->setLayout(new
30 2023-02-25
编程技术问答社区
如何将QChart的坐标映射到QChartView的点?
我想在QChart中做一个橡皮筋窗口,但是不知道如何将QChart的坐标映射到QChartView. 例如(0, 0) 是一个QChart 坐标,在QChartView 中可能是(10, 10),怎么转换呢?我已经看到了在QChartView的轴系中获取鼠标坐标的答案 但是好像和我的要求相反. import sys from PyQt5.QtChart import QChart, QChartView, QLineSeries from PyQt5.QtCore import QPointF, QEvent, QPoint, QRect from PyQt5.QtWidgets import QApplication, QMainWindow, QRubberBand class ChartView(QChartView): def init_rubber_band(self): chart = self.chart() sta
1142 2022-08-15
编程技术问答社区
如何在qt中改变一个QBarSet条/元素的颜色?
我将 QBarSet 的 hovered 信号连接到一个插槽,当鼠标悬停在条形集上时,它将改变 QBarSet 颜色,并在鼠标离开时重置颜色. 代码片段如下所示: void BarChart::hoverTest(bool status, int index) { if(status == true) { set->setColor(Qt::red); //changes to bar set color to red mouse when hovers on bar set } else { set->setColor(QColor(52, 152, 219)); //reset the color when mouse leaves } } 这些是悬停前和悬停时的照片: 如您所见,如果我将鼠标悬停在栏集上,所有这些栏集栏(元素)的颜色都变为红色.但我想将鼠标悬停在栏集的特定栏(元素)上,该栏(元素)会改变颜
934 2022-08-15
编程技术问答社区
如何用Qt Designer在表单中插入QChartView?
我想将 QChart 添加到表单中.但我在小部件框中找不到它.所以我在代码中创建了它.如何将其插入 QWidget 或 QFrame 或其他内容? 我想在 QtDesigner 中设置那个小部件的区域. 解决方案 选项1:推广 我想你的意思是插入一个 QChartView,因为 QChartView 继承自 QGraphicsView,这将是一个不错的选择,为此我们执行以下操作: 先在.pro中添加QT += charts 将 QGraphicsView 放置到设计中. 右击QGraphicsView并选择Promote to... 执行上述操作时,出现一个菜单,在菜单中应设置在Promoted Class Name中的QChartView,Header file中的QtCharts,然后按add按钮,最后按promote. 部分步骤截图: [3.] [4.1] [4.2] 同样可以使用 QWidget 作为基础而不是 QGr
3374 2022-08-15
编程技术问答社区