Qt之QCustomPlot的二次封装:实现多数值柱形图显示的widget类

前言

QCustomPlot是基于Qt的一个轻量级的第三方图表类,完全开源的代码,无需导入任何库,使用起来方便且高效。
此外,QCustomPlot还很贴心的发布了很多Demo程序。基于这些Demo,再结合实际工程需要,我在QCustomPlot基础上二次封装一些工程实践时比较常见的界面类库,力求做到简单易用,有需要的同学可以直接下载。
今天我要实现的是多数值柱形图显示,适用于同类不同数值的界面显示,比如:
一个机器设备上有若干电机,每个电机上装有温度传感器,我们就可以用通过一张这种图表来显示每一个传感器传来的温度。
废话少说,直入正题。

QCustomPlot的安装和使用

QCustomPlot是我遇到的最方便安装的第三方库了,具体安装方法非常简单,可以看我这篇文章有介绍,这里就不再重复了。

关键代码的实现

首先我们新建一个Qt设计师界面类,选择Widget类型,我将其命名为SingleKindDatasBarsShowForm然后我们在其上面拖拽一个Widget,将其提升为QCustomPlot类。
提升完毕后,我们要写一个对这个图表的设置函数,将其设置为柱形图显示类。

void SingleKindDatasBarsShowForm::SetValueState(QVector<QString> temp_title_list, QColor color, QString unit)
{
   
    title_list.clear();

    int count=temp_title_list.count();

    bar_count=count;

    if(count<=0)
    {
   
        return;
    }

    //新建一个bar系列
    data_bars = new QCPBars(ui->widget->xAxis, ui->widget->yAxis);

    data_bars->setAntialiased(false);
    data_bars->setPen(color.lighter(150));
    data_bars->setBrush(color);

    x_ticks.clear();

    for(int i=0;i<count;i++)
    {
   
        title_list.append(temp_title_list.at(i));
        x_ticks.append(i+1);
    }

    //根据标题列表初始化x轴
    QSharedPointer<QCPAxisTickerText> 
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值