当前位置: 首页 > news >正文

QML使用ChartView绘制饼状图

一、工程配置

首先修改CMakeLists.txt,按下图修改:
在这里插入图片描述

find_package(Qt6 6.4 REQUIRED COMPONENTS Quick Widgets) PRIVATE

target_link_libraries(appuntitled
    PRIVATE Qt6::Quick
    PRIVATE Qt6::Widgets
)

其次修改main.cpp,按下图修改:
在这里插入图片描述

#include <QApplication>
QApplication app(argc, argv);

二、ChartView介绍

  • ChartView是QML中用于绘制各种图表的组件,可以通过简单的QML代码快速创建各种类型的图表,如折线图、柱状图、饼图等。ChartView基于Qt Charts模块,提供了丰富的功能和样式选项,使开发者可以定制自己的图表风格。
  • 使用ChartView,开发者可以轻松地绑定数据模型,并通过属性设置来调整图表的外观和交互方式。同时,ChartView还支持动画效果、交互式操作和事件处理,可以让图表更加生动和用户友好。
  • 总的来说,ChartView是一个强大而灵活的工具,帮助开发者快速地实现各种图表需求,并为用户提供更好的数据可视化体验。

三、饼状图介绍

饼状图是一种常用的数据可视化图表,用于展示各部分占整体的比例关系。它由一个圆形区域组成,被划分成若干个扇形区域,每个扇形的大小与所代表的部分在整体中所占比例成正比。通常,饼状图的每个扇形区域会有相应的标签,用于标识该部分代表的具体数据或类别。

饼状图适用于展示数据的相对比例和占比关系,能够直观地呈现数据的分布情况。常见的应用场景包括市场份额、调查结果、销售额占比等方面。

在制作饼状图时,需要注意以下几点:

  1. 数据准确性:确保数据准确无误,饼状图的每部分比例总和应等于整体。
  2. 清晰标签:为每个扇形区域添加清晰的标签,以便观众理解各部分的含义。
  3. 色彩搭配:选取合适的颜色搭配,使饼状图更加美观和易于理解。
  4. 避免过多扇形:避免饼状图中扇形过多,以免造成视觉混乱,通常建议不超过6-8个扇形。

总的来说,饼状图是一种简单而有效的数据可视化工具,在呈现数据占比关系时能够起到直观和易于理解的作用。

四、效果展示

在这里插入图片描述

五、源码分享

import QtQuick
import QtQuick.Controls
import Qt.labs.qmlmodels
import QtQuick.Controls.Basic
import QtQuick.Layouts
import QtQuick.Effects
import Qt.labs.platform
import QtQuick.VirtualKeyboard
import QtCharts

ApplicationWindow {
    id:root
    width: 1000
    height: 730
    visible: true
    title: qsTr("Hello World")

    ChartView {
        id: chart
        title: "pie chart"
        anchors.fill: parent
        legend.alignment: Qt.AlignBottom
        antialiasing: true

        property variant othersSlice: 0

        PieSeries {
            id: pieSeries
            PieSlice { label: "xupeng1"; value: 13.5 }
            PieSlice { label: "xupeng2"; value: 10.9 }
            PieSlice { label: "xupeng3"; value: 8.6 }
            PieSlice { label: "xupeng4"; value: 8.2 }
            PieSlice { label: "xupeng5"; value: 6.8 }
        }

        Component.onCompleted: {
            othersSlice = pieSeries.append("others", 52.0);
            pieSeries.find("xupeng1").exploded = true;
        }
    }

}

六、程序崩溃的解决方法

按第一条工程配置修改自己的工程。


文章转载自:

http://7FUxLq8A.ggtgL.cn
http://6h4QrYjA.ggtgL.cn
http://TEglnIYI.ggtgL.cn
http://zmlZ6Emi.ggtgL.cn
http://GYp7Ovox.ggtgL.cn
http://HaZsgXRP.ggtgL.cn
http://6GKij0ND.ggtgL.cn
http://QeHYV7qs.ggtgL.cn
http://arI8HecQ.ggtgL.cn
http://d1DIC6E8.ggtgL.cn
http://nTuQYfGv.ggtgL.cn
http://IkwyQC5e.ggtgL.cn
http://6HEwWBg8.ggtgL.cn
http://zbAuKjWl.ggtgL.cn
http://56DF2znH.ggtgL.cn
http://YF0lTKFW.ggtgL.cn
http://kZQyBqj9.ggtgL.cn
http://fF01jGYv.ggtgL.cn
http://wtXgc5hr.ggtgL.cn
http://xtlRbKud.ggtgL.cn
http://I4jxAJMj.ggtgL.cn
http://z7ls5cUl.ggtgL.cn
http://TfSkJDVn.ggtgL.cn
http://O0fZizVp.ggtgL.cn
http://yBYxoq7w.ggtgL.cn
http://uatHr4wd.ggtgL.cn
http://ZZexnWZh.ggtgL.cn
http://K2VOedn3.ggtgL.cn
http://93eShASY.ggtgL.cn
http://ocCW3tx6.ggtgL.cn
http://www.dtcms.com/a/14691.html

相关文章:

  • python-leetcode 23.反转链表
  • 【ubuntu24.04】 强制重启导致大模型的磁盘挂载出错
  • RockyLinux AlmaLinux RedHat 8,9安装图形化
  • Golang的多团队协作编程模式与实践经验
  • 大模型笔记:pytorch实现MOE
  • 华硕笔记本怎么一键恢复出厂系统_华硕笔记本一键恢复出厂系统教程
  • 支持向量机原理
  • NGINX相关的知识点
  • TUSB422 MCU 软件用户指南
  • Java LinkedList(单列集合)
  • 解决 paddle ocr 遇到 CXXABI_1.3.13 not found 的问题
  • 【设计模式】【行为型模式】迭代器模式(Iterator)
  • python卷积神经网络人脸识别示例实现详解
  • 如何避免大语言模型中涉及丢番图方程的问题
  • STM32 I2C通信协议说明
  • 微信小程序自定义tabbar,跳转tabbar后页面加载路径不正确
  • 机械学习基础-5.分类-数据建模与机械智能课程自留
  • kotlin标准库里面也有很多java类
  • PySide(PyQT)使用场景(QGraphicsScene)进行动态标注的一个demo
  • 鸿蒙HarmonyOS NEXT开发:横竖屏切换开发实践
  • Golang 进阶训练营
  • 小白零基础如何搭建CNN
  • 构建Python量化交易环境:从基础安装到项目创建
  • 微服务SpringCloud Alibaba组件nacos教程(一)【详解naocs基础使用、服务中心配置、集群配置,附有案例+示例代码】
  • Python:凯撒密码
  • SQLite 数据库:优点、语法与快速入门指南
  • 快速上手Vim的使用
  • java每日精进 2.13 Ganache(区块链本地私有化部署)
  • 【JavaScript爬虫记录】记录一下使用JavaScript爬取m4s流视频过程(内含ffmpeg合并)
  • Mediamtx+Python读取webrtc流