qt qml LineSeries画实时动态折线图

当程序动态的获取数据,例如某个固定时间获取远端数据并需要实时在折线图中进行显示时,可使用如下方法,我设置了一个计时器TImer,每秒钟往图表中添加一个数据,并动态更新坐标轴数值:

设置横纵坐标,此时横坐标设置为动态的:

    ValueAxis {
             id: myAxisX
             min: 0
             max: 10>timer? 10:timer+1
             tickCount: 11
             labelsColor: "#ffffff"
             labelsFont.pointSize: 13
             labelsFont.bold: true
             labelFormat: '%d'
         }

设置计时器每秒钟往LineSeries最后新增一个数据:

    Timer{
        interval: 1000
        running: true
        repeat: true
        onTriggered: {
            lineSeries.append(timer,Math.random()*50)
            timer = timer+1            
        }
    }

完整代码:

import QtQuick 2.0
import QtCharts 2.2

ChartView {
    title: "XXX数据读取"
    antialiasing: true
    backgroundColor: "#9917719b"
    animationOptions: ChartView.SeriesAnimations
    titleColor: "#ccffffff"
    titleFont.bold: true
    titleFont.family: "方正粗倩_GBK"
    titleFont.pointSize: 15
    legend.visible:false
    margins.left: 10
    margins.right: 10
    margins.top: 10
    margins.bottom: 10
    property int timer: 0
    ValueAxis {
             id: myAxisX
             min: 0
             max: 10>timer? 10:timer+1
             tickCount: 11
             labelsColor: "#ffffff"
             labelsFont.pointSize: 13
             labelsFont.bold: true
             labelFormat: '%d'
         }
    ValueAxis{
        id:myAxisY
        min:0
        max:50
        tickCount: 6
        labelsColor: "#ffffff"
        labelsFont.pointSize: 13
        labelsFont.bold: true
        labelFormat: '%d'
    }

    LineSeries {
        id:lineSeries
        name: "LineSeries"
        axisX: myAxisX
        axisY:myAxisY
        color: "#00ffff"
        width: 3
    }

    Timer{
        interval: 1000
        running: true
        repeat: true
        onTriggered: {
            lineSeries.append(timer,Math.random()*50)
            timer = timer+1
        }
    }
}

 

  • 8
    点赞
  • 55
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵喵叫的猴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值