Qt widget显示曲线

Qt通过widget显示曲线,需要下载charts插件。然后在pro文件进行引用。

QT += charts

一般在开始安装的时候,我们就要选择charts组件安装,否则,我们在引用的时候就会报错。

接下来我们开始画出曲线新建一个chart对象,创建QLineSeries对象

QChart *chart = new QChart();

        // 创建一个QLineSeries对象,用于绘制线性图
    QLineSeries *series1 = new QLineSeries();
    QLineSeries *series2 = new QLineSeries();
series1->append(QPointF(1, 2));

series添加点,

chart->addSeries(series1);
        chart->addSeries(series2);

        series1->setName("电压曲线");
        series2->setName("电流曲线");
        chart->createDefaultAxes();
        //chart->axes(Qt::Horizontal)[0]->setRange(0, 10); // 设置X轴范围
        //chart->axes(Qt::Vertical)[0]->setRange(0, 10);   // 设置Y轴范围
        chart->setAxisX(new QValueAxis());
        chart->setAxisY(new QValueAxis());
        //chart->setAxisX(new QValueAxis(),series2);
        //chart->setAxisY(new QValueAxis(),series2);
        series1->attachAxis(chart->axes(Qt::Horizontal)[0]);
        series2->attachAxis(chart->axes(Qt::Horizontal)[0]);
        series1->attachAxis(chart->axes(Qt::Vertical)[0]);
        series2->attachAxis(chart->axes(Qt::Vertical)[0]);
        chart->axisY()->setTitleText("Y轴标签");
        chart->axisX()->setTitleText("X轴标签");
QChartView* chartView = new QChartView(chart);
        //ui->widget->layout()->removeWidget(chartView);
        chartView->setRenderHint(QPainter::Antialiasing);

        // 将QChartView设置为QWidget的子部件

        ui->widget_2->setLayout(layout);
        ui->widget_2->layout()->addWidget(chartView);

这样我们就画出曲线图了,演示界面如下:

为了实现每次点击按钮都是最新的图像,所以我们需要清空widget。

实现代码如下:

QList<QWidget *> children = ui->widget_2->findChildren<QWidget *>();

        // 删除所有子控件
        foreach (QWidget *child, children) {
            // 不包括自己
            if (child != ui->widget_2) {
                child->deleteLater();
            }
        }

这样我们就实现了每次点击按钮,都可以实现当下的图像。

相关推荐

  1. <span style='color:red;'>QWidget</span>

    QWidget

    2024-05-15 13:02:19      33 阅读
  2. PyQt-QtWidgets-QFileDialog

    2024-05-15 13:02:19       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-15 13:02:19       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-15 13:02:19       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-15 13:02:19       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-15 13:02:19       18 阅读

热门阅读

  1. 河南省市政给排水乙级资质申请费用大揭秘

    2024-05-15 13:02:19       15 阅读
  2. C++ QT设计模式:解释器模式

    2024-05-15 13:02:19       13 阅读
  3. 项目dev打包报错 Cannot find module ‘node:util‘

    2024-05-15 13:02:19       9 阅读
  4. vue和react的区别

    2024-05-15 13:02:19       13 阅读
  5. 动态IP的应用场景

    2024-05-15 13:02:19       12 阅读
  6. Rust语言内部运行原理介绍

    2024-05-15 13:02:19       10 阅读
  7. Pytorch张量广播

    2024-05-15 13:02:19       11 阅读