资源简介
qt qml c++ 折线图
代码片段和文件信息
#include “linechart.h“
#include
#include
#include
// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
int traffic[31]={70030060062264480072377750080076672823424522267844377823590092361884598128300 0 0 0 0 0};
LineChart::LineChart(QQuickPaintedItem *parent) :
QQuickPaintedItem(parent)
{
//setFlag(QGraphicsItem::ItemHasNoContents false);
monthCount= 0;
nameWidth= 0;
monthNow= 0;
topDistance=120;
}
void LineChart::paint(QPainter *painter)
{
QDateTime current_date_time = QDateTime::currentDateTime();
painter->setRenderHint(QPainter::Antialiasing);//平滑直线
monthNow= current_date_time.date().month();
dayNow= current_date_time.date().day();
if(monthNow==2){
nameWidth=120*28+2;
monthCount = 28;
}else if(monthNow==1||monthNow==3||monthNow==5||monthNow==7
||monthNow==8||monthNow==10||monthNow==12){
nameWidth=120*31+2;
monthCount = 31;
}else{
nameWidth=120*30+2;
monthCount = 30;
}
int i=0;
int flag=0;
for(;i<31;i++){
if(flag flag=traffic[i];
}
}
painter->translate(0530);//设置原点位置
QPen penLine(Qt::white3);
painter->setPen(penLine);
for (int var = 0; var < dayNow; ++var) {
if(var==0){
painter->drawLine(0060-traffic[var]*(530-topDistance)/flag);
}else{
painter->drawLine((60+(var-1)*120)-traffic[var-1]*(530-topDistance)/flag120*var+60-traffic[var]*(530-topDistance)/flag);
}
}
for (int var = 0; var < dayNow; ++var) {
if(var==(dayNow-1)){
QPen Endpoint(Qt::white10);
painter->setPen(Endpoint);
painter->drawEllipse((60+var*120)-5(-traffic[var]*(530-topDistance)/flag)-51010);//-5
}else{
//009955
// QPen Endpoint(Qt::white3);
// painter->setPen(Endpoint);
// painter->drawEllipse((60+var*120)-5(-traffic[var]*(530-topDistance)/flag)-51010);//-5
// QColor insideBrushColor0(01538525);
// painter->setBrush(insideBrushColor0);
// QPen penpoints0(insideBrushColor010);
// painter->setPen(penpoints0);
painter->drawEllipse((60+var*120)-5(-traffic[var]*(530-topDistance)/flag)-51010);//-5
}
}
QPen Vertical(Qt::white1);
painter->setPen(Vertical);
for (int var = 0; var < dayNow; ++var) {
painter->drawLine((60+var*120)0(60+var*120)-traffic[var]*(530-topDistance)/flag+5);
}
QFont notToday(“white“20);
painter->setFont(notToday);
for (int var = 0; var < dayNow; ++var) {
if(var==(dayNow-1)){
QFont isToday(“white“30);
painter->setFont(isToday);
QString flagstr=““;
painter->drawText((60+var*120-60)-traffic[var]*(530-topDistan
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3008 2014-03-26 08:50 chapter-line\chapter-line.pro.user
文件 47231 2014-03-26 08:50 chapter-line\Makefile
文件 2477 2014-03-26 08:44 chapter-line\main.cpp
文件 646 2014-03-26 08:44 chapter-line\linechart.h
文件 4366 2014-03-26 08:44 chapter-line\linechart.cpp
文件 49414 2014-03-26 08:46 chapter-line\chapter-line
文件 371 2014-03-26 08:49 chapter-line\chapter-line.pro
文件 5619 2014-03-26 08:44 chapter-line\app.qml
目录 0 2014-03-26 08:50 chapter-line\
相关资源
- Jumping the Queue C++代码
- 成绩记录簿
-
C++中使用CWebPage调用ja
vasc ript - 学生成绩管理系统c++ csdn
- C++内排序算法比较
- C++编程思想两卷合订本-高清完美带书
- 发送win10消息通知的
- C++ 生成JPEG图片源代码
- MFC对话框标题栏的隐藏和高度设置
- 高校人事管理系统课程设计C++版
- VC++6.0无法打开工程解决办法
- Visual C++项目开发案例全程实录第2版光
- C++实现的仓库管理系统
- 博览网 4视频 侯捷老师的C++内存管理
- C++算法大全及面试题详解
- C++面试题大全300题
- c++编写高校学籍管理系统+详细注释
- 操作系统内存分配C++实现
- VC++6.0实现读取硬盘唯一序列号源码和
- mfc安装全局钩子,显示窗口的标题
- 操作系统 读者写者问题c++
- C++实现快速排序
- 第四题代码.txt吉林大学 C++ 上机实验
- C++实验报告.doc
- 命令模式(C++实现)
- C++ 编写解析Torrent文件的类
- VS2013+RPG小游戏
- MOEA/D的C++代码
- c++电力系统潮流程序
- OCI连接oracle数据库c++实现
评论
共有 条评论