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

qt QHPieModelMapper详解

1. 概述

QHPieModelMapper是Qt Charts模块中用于饼图的水平模型映射器。它允许将QAbstractItemModel派生的模型作为数据源,将模型中的数据映射到QPieSeries中,从而使模型的每一列定义饼图的一个切片,每行则映射为切片的标签或值。通过QHPieModelMapper,可以方便地将模型数据与饼图系列同步,实现数据的可视化展示。

2. 重要方法

  • QHPieModelMapper(QObject *parent = nullptr),创建一个QHPieModelMapper对象,其父对象为parent
  • void setModel(QAbstractItemModel *model):设置映射器使用的模型。

  • QAbstractItemModel *model() const:返回当前使用的模型。

  • void setSeries(QPieSeries *series):设置映射器使用的饼图系列。

  • QPieSeries *series() const:返回当前使用的饼图系列。

  • void setColumnCount(int columnCount):设置映射到饼图系列的模型列数。

  • int columnCount() const:返回映射的列数。

  • void setFirstColumn(int firstColumn):设置包含第一个切片值的模型列。

  • int firstColumn() const:返回包含第一个切片值的模型列。

  • void setLabelsRow(int labelsRow):设置与饼图切片标签同步的模型行。

  • int labelsRow() const:返回与饼图切片标签同步的模型行。

  • void setValuesRow(int valuesRow):设置与饼图切片值同步的模型行。

  • int valuesRow() const:返回与饼图切片值同步的模型行。

3. 信号

  • columnCountChanged:当列数发生变化时发出。

  • firstColumnChanged:当第一列发生变化时发出。

  • labelsRowChanged:当标签行发生变化时发出。

  • modelReplaced:当映射器连接的模型发生变化时发出。

  • seriesReplaced:当映射器连接的系列发生变化时发出。

  • valuesRowChanged:当值行发生变化时发出。

4. cpp实例

#include <QApplication>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QAreaSeries>
#include <QLegend>
#include <QHCandlestickModelMapper>QT_CHARTS_USE_NAMESPACEint main(int argc, char *argv[])
{QApplication a(argc, argv);// 创建模型并添加数据QStandardItemModel model(4, 2);model.setHorizontalHeaderLabels({"Label", "Value"});model.setItem(0, 0, new QStandardItem("Category A"));model.setItem(0, 1, new QStandardItem("20"));model.setItem(1, 0, new QStandardItem("Category B"));model.setItem(1, 1, new QStandardItem("30"));model.setItem(2, 0, new QStandardItem("Category C"));model.setItem(2, 1, new QStandardItem("40"));model.setItem(3, 0, new QStandardItem("Category D"));model.setItem(3, 1, new QStandardItem("10"));// 创建饼图系列QPieSeries *series = new QPieSeries();// 创建水平模型映射器QHPieModelMapper *mapper = new QHPieModelMapper();mapper->setModel(&model);mapper->setSeries(series);mapper->setFirstColumn(0);mapper->setColumnCount(2);mapper->setLabelsRow(0);mapper->setValuesRow(1);// 创建图表并添加系列QChart *chart = new QChart();chart->addSeries(series);chart->setTitle("Pie Chart Example");// 创建图表视图并显示QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);chartView->resize(400, 300);chartView->show();return a.exec();
}

点击扫码加入群聊

觉得有帮助的话,打赏一下呗。。

           

需要商务合作(定制程序)的欢迎私信!! 


文章转载自:

http://uhzNrb8m.gmswp.cn
http://5Yv42h3k.gmswp.cn
http://Ozc87NJG.gmswp.cn
http://XFS2gQbM.gmswp.cn
http://a2wDuQXr.gmswp.cn
http://3Ea5Y3k8.gmswp.cn
http://eXUnV82H.gmswp.cn
http://Kv2pto7g.gmswp.cn
http://S2Rbyaz4.gmswp.cn
http://20igerrz.gmswp.cn
http://LtiFX5qt.gmswp.cn
http://x6lEH3Yl.gmswp.cn
http://GLliL5U7.gmswp.cn
http://jwsWxI5R.gmswp.cn
http://XrUPiqX2.gmswp.cn
http://CxZSkO98.gmswp.cn
http://J4Jf6Jq3.gmswp.cn
http://iA3FQWDI.gmswp.cn
http://kaJZt363.gmswp.cn
http://WvpAf9Nw.gmswp.cn
http://9hixcisp.gmswp.cn
http://lX2rd0rl.gmswp.cn
http://Gmv5S6Ky.gmswp.cn
http://V69vjsxI.gmswp.cn
http://PQn1itio.gmswp.cn
http://EAYJW8GX.gmswp.cn
http://bOPvza8l.gmswp.cn
http://Y2B9kZVQ.gmswp.cn
http://QjBo7y3n.gmswp.cn
http://Xd7dDydB.gmswp.cn
http://www.dtcms.com/a/387695.html

相关文章:

  • MAC Typora 1.8.10无法打开多个md档
  • 零碳园区的 “追光者”:三轴光伏太阳花的技术创新与应用逻辑
  • MAC-Java枚举工具类实现
  • 「数据获取」全国村级点状矢量数据
  • Chromium 138 编译指南 macOS 篇:源代码获取(四)
  • 人工智能概念:NLP任务的评估指标(BLEU、ROUGE、PPL、BERTScore、RAGAS)
  • 机器学习基础:从线性回归到多分类实战
  • 深度学习基础:线性回归与 Softmax 回归全解析,从回归到分类的桥梁
  • Scikit-learn Python机器学习 - 分类算法 - 决策树
  • 【人工智能agent】--dify实现文找图、图找文、图找图
  • 基于 Landsat-8 数据的甘肃省金塔县主要农作物分类
  • 社区补丁的回复及常用链接
  • Pyside6 + QML - 信号与槽01 - Button 触发 Python 类方法
  • 视频理解学习笔记
  • Android Studio 将SVG资源转换成生成xml图
  • 后台管理系统详解:通用的系统架构介绍与说明
  • r-DMT市场报告:深度解析全球研究现状与未来发展趋势
  • 企业网络里的API安全防护指南
  • 了解学习DNS服务管理
  • Pycharm安装步骤
  • 分布式k8s集群管理是如何用karmada进行注册的?
  • FreeRTOS 任务调度与管理
  • CI/CD 实战:GitHub Actions 自动化部署 Spring Boot 项目
  • 《第一课——环境搭建:告别JVM温室,构建你的第一个C程序》
  • 2025最新超详细FreeRTOS入门教程:第二十一章 FreeRTOS在物联网与边缘计算中的应用
  • VMware Workstation 快照恢复后,软件消失与空间占用的真相
  • VS2022中使用cmake+vcpkg工具链编译meshlab源码
  • Trunk的配置
  • k8s和prometheus面试都会问哪些问题?
  • web前端批量下载图片(另存为)最佳实践