基于Qt QPainter自绘扇形统计图

不多说,直接上效果图:

部分代码呈现:

tongjitu.h中

#define MYTONGJITU_H
 
#include <QWidget>
#include "tongjitu.h"
 
namespace Ui {
class MyTongJiTu;
}
 
class MyTongJiTu : public QWidget
{
    Q_OBJECT
 
public:
    explicit MyTongJiTu(QWidget *parent = 0);
    ~MyTongJiTu();
 
private:
    Ui::MyTongJiTu *ui;
    tongjitu *tu;
    QByteArray ShiYanCunRu();
 
};
 
#endif // MYTONGJITU_H


tongjitu.c中


#include "mytongjitu.h"
#include "ui_mytongjitu.h"
 
MyTongJiTu::MyTongJiTu(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::MyTongJiTu)
{
    ui->setupUi(this);
    tu=new tongjitu(this);
    tu->SetShuJu(ShiYanCunRu());
    tu->show();
}
 
MyTongJiTu::~MyTongJiTu()
{
    delete ui;
}
QByteArray MyTongJiTu::ShiYanCunRu()
{
//实验 可用于外部
    QByteArray block; //用于暂存我们要发送的数据
    QDataStream out(&block,QIODevice::WriteOnly);     //使用数据流写入数据
    out.setVersion(QDataStream::Qt_4_6);      //设置数据流的版本,客户端和服务器端使用的版本要相同
    out<<(quint16) 0;
    QStringList lis1;
    QList<double> lis2;
    lis1<<"足球"<<"篮球"<<"乒乓球"<<"羽毛球"<<"网球"<<"排球"<<"其他";
    lis2<<20<<30<<50<<60<<45<<25<<15;
   // if(lis1.length()!=lis2.length())return; //注意: 调用时请自行判断
   for(int i=0;i<lis1.length();i++)
   {
   out<<lis1.at(i)<<lis2.at(i);
   }
    out.device()->seek(0);
    out<<(quint16) (block.size() - sizeof(quint16));
    return block;
}
 


部分代码展示完毕:源码点击:https://download.csdn.net/download/lhk_int/10402531

运行效果下载:链接: https://pan.baidu.com/s/13jj-ML0YqGqE1AtXtG-rtw 密码: zcq7

运行效果已经静态编译,下载后双击即可运行

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值