调用FluentUI中的折线图散点图等

news2024/12/23 23:09:40

文章目录

  • 0.文章介绍
  • 1.源码位置
  • 2.线性图:基础版本
    • 2.1效果图
    • 2.2代码
  • 3.线形图:封装版本
    • 3.1 效果图
    • 3.2 代码

0.文章介绍

调用项目FluentUI中的散点图、折线图组件,做定制化改进。
项目FluentUI源码位置:https://github.com/zhuzichu520/FluentUI
项目FluentUI导入教程:https://blog.csdn.net/summer__7777/article/details/139819435

1.源码位置

在这里插入图片描述

2.线性图:基础版本

2.1效果图

在这里插入图片描述

2.2代码

import QtQuick 2.15
import QtQuick.Window 2.15
import FluentUI


Window {
    id: root
    visible: true
    width: 1000
    height: 600
    property var dataLineChart: []

    Rectangle{

        id:myLineChart
        width: 500
        height: 400


        FluFrame{
            anchors.fill: parent // 填充全部界面
            padding: 10
            FluChart{
                id: chart
                anchors.fill: parent
                chartType: 'line'
                chartData: { return {
                        labels: ['January', 'February', 'March', 'April', 'May', 'June', 'July'],
                        datasets: [{
                                label: 'My First Dataset',
                                data: root.dataLineChart,
                                fill: false,
                                borderColor: 'rgb(75, 192, 192)',
                                tension: 0.1
                            }]
                    }
                }
                chartOptions: { return {
                        maintainAspectRatio: false,
                        title: {
                            display: true,
                            text: 'Chart.js Line Chart - Stacked'
                        },
                        tooltips: {
                            mode: 'index',
                            intersect: false
                        }
                    }
                }
            }

            Timer{
                id: timer
                interval: 1000 // 每隔 1000 毫秒就会触发一次 onTriggered 信号
                repeat: true
                onTriggered: {
                    root.dataLineChart.push(Math.random()*1000)
                    if(root.dataLineChart.length>7){
                        root.dataLineChart.shift()
                    }
                    chart.animateToNewData()
                }
            }
            Component.onCompleted: {
                timer.restart()
            }

        }


    }

}



3.线形图:封装版本

3.1 效果图

在这里插入图片描述

3.2 代码

// MyLineChart.qml
import QtQuick 2.15
import FluentUI

Rectangle {
    id: myLineChart
    width: 500
    height: 400

    property var dataLineChart: [] // 储存数据:y轴
    property var labelsLineChart: []  // 存储时间:x轴
    property int maxDataPoints: 10  // 最多显示的数据点数

    FluFrame {
        anchors.fill: parent
        padding: 10
        // 折线图
        FluChart {
            id: chart
            anchors.fill: parent
            chartType: 'line'
            chartData: { return {
                    labels: myLineChart.labelsLineChart, // x轴标签
                    datasets: [{ // 包含一个或多个数据集的配置
                            label: 'My First Dataset', // 数据集的名称或描述,显示在图表的图例中
                            data: myLineChart.dataLineChart,
                            fill: true, // 决定图表中的线条下方是否填充颜色
                            borderColor: 'rgb(75, 192, 192)', // 线条的颜色
                            // backgroundColor:'red' // 填充区域颜色
                            tension: 0.1  // 线条的平滑度
                        }]
                }
            }
            // 配置图表外观和行为的属性
            chartOptions: { return {
                    maintainAspectRatio: false,
                    title: {
                        display: true,
                        text: '图表名称'
                    },
                    tooltips: {
                        mode: 'index',
                        intersect: false
                    },
                    scales: {
                        xAxes: [{
                            scaleLabel: {
                                display: true,
                                labelString: 'Time (HH:MM:SS)'  // X轴的单位
                            }
                        }],
                        yAxes: [{
                            scaleLabel: {
                                display: true,
                                labelString: 'Value (Units)'  // Y轴的单位
                            }
                        }]
                    }
                }
            }
        }

        Timer {
            id: timer
            interval: 1000  // 每秒触发一次
            repeat: true
            onTriggered: {
                var currentTime = new Date();
                var timeString = currentTime.toLocaleTimeString();  // 获取当前时间的字符串格式,精确到秒

                // 更新数据和标签
                myLineChart.dataLineChart.push(Math.random() * 1000);
                myLineChart.labelsLineChart.push(timeString);

                if (myLineChart.dataLineChart.length > myLineChart.maxDataPoints) {
                    myLineChart.dataLineChart.shift();
                    myLineChart.labelsLineChart.shift();  // 移除最旧的标签
                }

                chart.animateToNewData();
            }
        }

        Component.onCompleted: {
            timer.restart();
        }
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2044665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

手把手教你SpringBoot项目将Swagger升级3.0详解

SpringBoot项目将Swagger升级3.0 前言 这阵子观察到Swagger官方已经升级到了3.0的版本,想着升级体验一下最新的版本 新特性 移除了2.x版本的冲突版本,移除了guava等移除了EnableSwagger2新增了springfox-boot-starter… 引入依赖 新版本中&#xf…

三十八、【人工智能】【机器学习】【监督贝叶斯网络(Bayesian Networks)学习】- 算法模型

系列文章目录 第一章 【机器学习】初识机器学习 第二章 【机器学习】【监督学习】- 逻辑回归算法 (Logistic Regression) 第三章 【机器学习】【监督学习】- 支持向量机 (SVM) 第四章【机器学习】【监督学习】- K-近邻算法 (K-NN) 第五章【机器学习】【监督学习】- 决策树…

数据库-DML语言-数据操作语言

定义 DML是对表中数据进行操作的语言,涉及的关键字:INSERT UPDATE DELETE INSERT:向表中插入新数据的语句UPDATE:修改表中数据的语句DELETE:删除表中数据的语句 准备工作 USE mydb; 使用mydb库 CREATE TABLE person( 创建表personname VARCHAR(30),age INT…

AAAI‘25 今日截稿!SD 核心成员开源比 Midjourney 还强的文生图模型,现已提供一键启动

Midjourney 真的不香了!继 Stable Diffusion 3 于 6 月开源后,Stability AI 前核心成员 Robin Rombach 带领着新团队在本月初推出了 FLUX.1 图像生成模型家族。官方声称 FLUX.1 在多个关键指标上超越了 Midjourney v6.0 和 DALLE 3 等文生图的头部模型&a…

VMware Workstation Pro 安装 Ubuntu Server

这里写目录标题 VMware Workstation Pro 安装 Ubuntu Server1. 启动选项2. 系统语言3. 安装程序升级4. 键盘配置5. 安装类型6. 网卡配置7. 代理配置8. 系统镜像配置9. 硬盘配置10. 账户配置11. Ubuntu Pro 版本12. SSH 服务13. 推荐软件14. 安装成功15. 第一次重启报错16. 登录…

JavaScript调试:console 命令的使用

1、console 命令介绍 console 对象用于 JavaScript 调试。JavaScript 原生中默认是没有 console 对象,这是宿主对象(也就是浏览器)提供的内置对象。 用于访问调试控制台,在不同的浏览器里效果可能不同。 console 对象常见的两个用途&#x…

【计算机操作系统】覆盖与交换

覆盖与交换 覆盖与交换是实现内存空间扩充的技术,虚拟存储技术后续会详细讲解 覆盖技术 为了解决程序大小超过物理内存总和的问题引入了覆盖技术 覆盖技术的思想: 将程序分为多个段(多个模块),常用的段常驻内存&…

Go Kafka 操作详解

Go Kafka 操作详解 引言 Apache Kafka 是一个分布式流处理平台,广泛应用于构建实时数据管道和流应用程序。在 Go 语言中,使用 github.com/IBM/sarama 库可以方便地与 Kafka 进行交互。本文将详细介绍如何使用 Sarama 库在 Go 中实现 Kafka 的生产者和消…

等保测评中的安全需求分析:构建精准的信息安全防护体系

在数字化转型的时代背景下,信息安全成为企业发展的关键因素之一。等保测评,作为我国信息安全等级保护制度的重要组成部分,要求企业进行详细的安全需求分析,以构建精准、有效的信息安全防护体系。本文旨在探讨等保测评中的安全需求…

基于SpringBoot+VUE的在线视频教育平台(源码+文档+部署

主要内容:Java项目、Python项目、前端项目、PHP、ASP.NET、人工智能与大数据、单片机开发、物联网设计与开发设计、简历模板、学习资料、面试题库、技术互助、就业指导等 业务范围:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写…

TQX310光口自环检测

本历程实现X310的光口自环测试,以及查看眼图。需要准备板卡以及好烧写的文件,文件在文档末尾的连接中提供。 X310连接好JTAG与电源线,在MGT x4口插入光口自环模块,并开机。 打开vivado,打开硬件管理器,会识…

Kubernetes—k8s集群存储卷(pvc存储卷)

目录 一、PVC 和 PV 1.PV 2.PVC 3.StorageClass 4.PV和PVC的生命周期 二、实操 1.创建静态pv 1.配置nfs 2.创建pv 3.创建pvc 4.结合pod,将pv、pvc一起运行 2.创建动态pv 1.上传 2.创建 Service Account,用来管理 NFS Provisioner 在 k8s …

Harmony OS 后台任务-代理提醒

三、代理提醒 传送门 1.什么是代理提醒 应用退到后台或进程终止后,仍然有一些提醒用户的定时类任务,例如购物类应用抢购提醒等,为满足此类功能场景,系统提供了代理提醒(reminderAgentManager)的能力。当…

Linux系统使用Typecho搭建个人网站并一键发布公网远程管理本地站点

文章目录 前言1. 安装环境2. 下载Typecho3. 创建站点4. 访问Typecho5. 安装cpolar6. 远程访问Typecho7. 固定远程访问地址8. 配置typecho 💡 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大…

Python 数据可视化,怎么选出合适数据的图表

数据可视化最佳实践 1. 引言:为什么数据可视化最佳实践很重要 数据可视化是数据分析和决策过程中不可或缺的一部分。通过有效的可视化,复杂的数据可以转化为易于理解的信息,从而帮助观众快速做出正确的判断。然而,糟糕的可视化可…

Qt-认识tT(1)

目录 QT是做什么的? 什么是QT GUI开发的各种技术方案 QT支持的平台 Qt的版本和优点 开发工具概述 Qt是做什么的? Qt是用来干嘛的? 什么是Qt Qt是⼀个跨平台的C图形用户界⾯应用程序框架。它为应用程序开发者提供了建立艺术级图形界⾯所…

Vue3+Ts封装类似el-drawer的抽屉组件

提供9个字段对drawer组件进行控制: modelValue: 对抽屉显示隐藏进行控制, width: 控制抽屉的宽度, title: 控制抽屉的标题, appendToBody: 是否将抽屉添加至body, closeOnClickModal: 是否点击遮罩层关闭抽屉, showConfirm: 是否显示确认按钮, showCancel: 是…

Linux网络:基于OS的网络架构

Linux网络:OS视角下的网络架构 网络分层模型OSI 七层模型TCP/IP 五层模型 协议操作系统与网络网络相关命令ifconfigpingnetstat 本博客将基于操作系统,讲解计算机网络的设计理念,帮助大家理解操作系统与网络之间的关系。 网络分层模型 网络…

DIAdem 与 LabVIEW

DIAdem 和 LabVIEW 都是 NI (National Instruments) 公司开发的产品,尽管它们有不同的核心功能和用途,但它们在工程、测试和测量领域中常常一起使用,以形成一个完整的数据采集、分析、处理和报告生成的解决方案。 1. 功能和用途 LabVIEW (Lab…

杭州造价信息_杭州造价信息网建设工程材料信息价

杭州造价信息,全称为《杭州造价信息》,简称为“杭州市信息价”或“杭州市建材信息价”,是杭州市建设工程主管部门发布的建筑建材市场指导价,也是杭州市建筑工程项目招标与结算的建材价格标准。这一信息由杭州市住建局或共享建材汇…