Qt 图例类QLegend详解


概述
  在Qt绘制图表时,图例并不是由QChart类所管理的,而是交给单独的QLegend类。

  QLegend类负责图例的绘制(包括颜色、线型、字体等),它与图表类QChart的关系是attach和detach。

实例
  参考官方实例:X:\Qt\Qt5.9.0\Examples\Qt5.9\charts\legend

运行效果:

功能详解

设置图例标签是否粗体

先看看效果:

点击Toggle Bold按钮后,图例中显示的数据系列的名称,变为粗体:

对应的功能代码为:

1 QFont font = m_chart>legend()>font(); 2 font.setBold(!font.bold()); 3 m_chart>legend()>setFont(font);

设置图例标签是否斜体

同样的,设置为斜体:

对应的功能代码为:

1 QFont font = m_chart>legend()>font(); 2 font.setItalic(!font.italic()); 3 m_chart>legend()>setFont(font);

设置图例标签字体大小

改变字体大小为6:

对应的功能代码为:

1 QFont font = m_chart>legend()>font(); 2 font.setPointSizeF(m_fontSize>value()); 3 m_chart>legend()>setFont(font);

图例的对齐格式:

功能代码:

1 void MainWidget::setLegendAlignment() 2 27 }

效果:

底部显示、

顶部显示、

左边显示、

右边显示、

图例附着/取消附着到图表

代码:

1 legend>detachFrChart(); 2 m_chart>legend()>setBackgroundVisible(true); 3 m_chart>legend()>setBrush(QBrush(QColor(128, 128, 128, 128))); 4 m_chart>legend()>setPen(QPen(QColor(192, 192, 192, 192)));

效果:

还可以自由地移动图例的位置。功能代码:

1 m_chart>legend()>setGeetry(QRectF(m_legendPosX>value(), 2 m_legendPosY>value(), 3 m_legendWidth>value(), 4 m_legendHeight>value()));

返回到附着效果:

1 legend>attachToChart(); 2 legend>setBackgroundVisible(false);



上一篇:Qt VirtualKeyboard C++集成与实现(自适应位置)

下一篇:Qt QVector和vector以及QMap和map的遍历性能对比


Qt
Copyright © 2002-2019 k262电脑网 www.k262.cn 皖ICP备2020016292号
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!QQ:251442993 热门搜索 网站地图