Qt+ECharts 饼状图

4 篇文章 0 订阅

1.头文件控件布局与前的博客类似

2.数据交互

connect(mBtn, &QPushButton::clicked, this, [=] {
		
		QJsonArray y1;
		y1 << 6.0 << 5.9 << 4.0 << 10.2 << 20.6 ;

		QString optionStr = QJsonDocument(y1).toJson();
		qDebug() << optionStr;
		QString js = QString("setData(%1)").arg(optionStr);
		view->page()->mainFrame()->evaluateJavaScript(js);
		
		});

4.echarts表的HTML内容

<html>
<head>
    <meta charset="utf-8">
    <title>ECharts</title>
    <!-- 引入 echarts.js -->
    <script src="echarts.min.js"></script>
</head>
<body style="height: 100%; margin: 0">
    <!-- 为ECharts准备一个具备大小(宽高)的Dom -->
    <div id="main" style="height:100%;"></div>
    <script type="text/javascript">
	var myChart = echarts.init(document.getElementById('main'));

       var option;

option = {
  tooltip: {
    trigger: 'item'
  },
  legend: {
    top: '5%',
    left: 'center'
  },
  series: [
    {
      name: 'Access From',
      type: 'pie',
      radius: ['40%', '70%'],
      avoidLabelOverlap: false,
      itemStyle: {
        borderRadius: 10,
        borderColor: '#fff',
        borderWidth: 2
      },
      label: {
        show: false,
        position: 'center'
      },
      emphasis: {
        label: {
          show: true,
          fontSize: '40',
          fontWeight: 'bold'
        }
      },
      labelLine: {
        show: false
      },
      data: [
        { value: 1048, name: '娇Der' },
        { value: 735, name: '邢色' },
        { value: 580, name: '汉堡' },
        { value: 484, name: '阿哲' },
        { value: 300, name: '媛Der' }
      ]
    }
  ]
};

    if (option && typeof option === 'object') {
      myChart.setOption(option);
    }
window.addEventListener('resize', myChart.resize);
function setData(newValue)
{
    var option = {
        series:
        [{
			data: [
        { value: newValue[0], name: '娇Der' },
        { value: newValue[1], name: '邢色' },
        { value: newValue[2], name: '汉堡' },
        { value: newValue[3], name: '阿哲' },
        { value: newValue[4], name: '媛Der' }
      ]
		}]
    };
    myChart.setOption(option);
}
function resizeDiv(newWidth,newHeight) {
    var myDiv = document.getElementById('main');
    myDiv.style.width = newWidth + "px";
    myDiv.style.height = newHeight + "px";
	myChart.resize();
}
    </script>
</body>
</html>

4.结果

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值