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

qt QAreaLegendMarker详解

1. 概述

QAreaLegendMarker 是 Qt Charts 模块中的一部分,用于在图例(Legend)中表示 QAreaSeries 的标记。它负责显示区域图的图例项,通常包含区域颜色样例和对应的描述文字。图例标记和对应的区域图关联,显示区域的名称及其样式,并且可以通过鼠标点击、悬停等方式交互,或者自定义图例项的样式。

2. 重要方法

  • QAreaLegendMarker::series() const:返回该图例标记所关联的 QAreaSeries 数据系列。
  • QAreaLegendMarker::setVisible(bool visible):设置图例标记的可见性。若设置为 false,则该图例标记将不可见。
  • QAreaLegendMarker::isVisible() const:返回图例标记是否可见。
  • void setBrush(const QBrush &brush)设置标记的填充样式(颜色或渐变)。

  • QString label() const获取图例标记的文本标签。

  • void setLabel(const QString &label)设置图例标记的文本标签。

3、信号

  • void nameChanged()该信号在图例标记的名称发生变化时发出。

  • void opacityChanged():当图例标记的不透明度发生变化时,该信号被发出。
  • void useOpenGLChanged():当图例标记的 OpenGL 使用状态发生变化时触发的信号。

  • void visibleChanged():当图例标记的可见性发生变化时发出此信号。

4、实例

#include <QApplication>
#include <QtCharts/QChartView>
#include <QtCharts/QLineSeries>
#include <QtCharts/QValueAxis>
#include <QtCharts/QAreaSeries>
QT_CHARTS_USE_NAMESPACEint main(int argc, char *argv[])
{QApplication a(argc, argv);// 创建两条线系列QLineSeries *upperSeries = new QLineSeries();QLineSeries *lowerSeries = new QLineSeries();// 设置上边界线的数据upperSeries->append(0, 10);upperSeries->append(1, 20);upperSeries->append(2, 15);upperSeries->append(3, 25);// 设置下边界线的数据lowerSeries->append(0, 5);lowerSeries->append(1, 10);lowerSeries->append(2, 8);lowerSeries->append(3, 15);// 创建 QAreaSeriesQAreaSeries *areaSeries = new QAreaSeries(upperSeries, lowerSeries);areaSeries->setName("示例区域图");// 创建图表QChart *chart = new QChart();chart->addSeries(areaSeries);chart->setTitle("QAreaLegendMarker 示例");chart->createDefaultAxes();// 获取图例并自定义QLegend *legend = chart->legend();legend->setVisible(true);legend->setAlignment(Qt::AlignBottom);// 获取图例标记(QAreaLegendMarker)QList<QLegendMarker *> markers = legend->markers(areaSeries);for (QLegendMarker *marker : markers) {QAreaLegendMarker *areaMarker = qobject_cast<QAreaLegendMarker *>(marker);if (areaMarker) {// 自定义图例文本areaMarker->setLabel("自定义区域图例");// 自定义图例填充样式QBrush customBrush(Qt::yellow);areaMarker->setBrush(customBrush);// 添加点击事件QObject::connect(areaMarker, &QAreaLegendMarker::clicked, []() {qDebug() << "图例标记被点击!";});}}// 创建视图QChartView *chartView = new QChartView(chart);chartView->setRenderHint(QPainter::Antialiasing);// 显示窗口QMainWindow window;window.setCentralWidget(chartView);window.resize(800, 600);window.show();return a.exec();
}

点击扫码加入群聊

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

           


文章转载自:

http://hZFmBilY.pLpth.cn
http://n9iG13AF.pLpth.cn
http://KkiOjQqC.pLpth.cn
http://V8WJ1T2n.pLpth.cn
http://9zvZwlqX.pLpth.cn
http://FMlAEsq0.pLpth.cn
http://WQELdGIt.pLpth.cn
http://68UNCZ7R.pLpth.cn
http://3atT11t8.pLpth.cn
http://1UnH6Y86.pLpth.cn
http://qzcdDumE.pLpth.cn
http://8v9beLEf.pLpth.cn
http://4hZB2e1G.pLpth.cn
http://VNjnRfqf.pLpth.cn
http://wWQKcY6e.pLpth.cn
http://ijslm5fZ.pLpth.cn
http://Tyy2hE87.pLpth.cn
http://pXsLynb1.pLpth.cn
http://hhlfpYGe.pLpth.cn
http://sAQF2KWq.pLpth.cn
http://Ca0OJqlR.pLpth.cn
http://OO0Gu6aX.pLpth.cn
http://6DeuPX6C.pLpth.cn
http://RQcgishG.pLpth.cn
http://eYGPa5e0.pLpth.cn
http://hraG7NnN.pLpth.cn
http://D6JLNIBV.pLpth.cn
http://qLqzdx4R.pLpth.cn
http://TMsMnloZ.pLpth.cn
http://ahFJBpCP.pLpth.cn
http://www.dtcms.com/a/380035.html

相关文章:

  • #C语言——刷题攻略:牛客编程入门训练(十三):循环输出图形(二)、一维数组(一),轻松拿捏!
  • Nginx服务——安装与搭建
  • 远程真机调试支持网络多线路切换,让自助兼容性测试更流畅
  • AI Agent工作流实用手册:5种常见模式的实现与应用,助力生产环境稳定性
  • 前端渲染技术全解析:SSR、SSG、CSR 有什么区别?
  • html css js网页制作成品——HTML+CSS娃娃店网页设计(4页)附源码
  • mac本地安装mysql
  • 使用android studio分析cpu开销
  • Android Studio如何开启离线编译模式
  • CSS 动画实战:实现电商中“加入购物车”的抛物线效果
  • Terraform整合到GitLab+Jenkins工具链
  • android studio 断点无效
  • Prompt技术深度解析:从基础原理到前沿应用的全面指南
  • WPF报错 XDG000 Windows Presentation Foundation (WPF) 项目中不支持 Application
  • Docker的使用及核心命令
  • Jmeter测试
  • 神经网络基本概念
  • 【打包app】uniapp打包ios端和安卓端app
  • 【LeetCode 每日一题】3000. 对角线最长的矩形的面积
  • 制造业档案管理混乱:档案宝如何破解?
  • 第4周 数组的概念和常见操作
  • vue,uniapp 实现卷帘对比效果
  • 鸿蒙 NEXT UI 性能优化实战:打造流畅用户界面的关键策略
  • 使用UniApp实现一个AI对话页面
  • 智能科技与搜索引擎优化关键词的新契机
  • 搜维尔科技:全身可穿戴Teslasuit动捕服的功能,自立式FES装置
  • Java 大视界 -- Java 大数据在智能医疗健康档案数据分析与个性化健康管理中的应用(410)
  • RK3588 Android12默认移除导航栏
  • HBuilder 运行编译器内存溢出
  • lesson59:JavaScript 控制流详解:分支结构与循环语句全指南