📄 zclinewidget.ui.h
字号:
/****************************************************************************** ui.h extension file, included from the uic-generated form implementation.**** If you wish to add, delete or rename functions or slots use** Qt Designer which will update this file, preserving your code. Create an** init() function in place of a constructor, and a destroy() function in** place of a destructor.*****************************************************************************/void ZCLineWidget::init(){ zw=new ZWorld(); Tel=NULL; days=0;}void ZCLineWidget::drawRectF(QPainter *p,float x1,float y1,float x2,float y2){ int X1=zw->x(x1); int Y1=zw->y(y1); int X2=zw->x(x2); int Y2=zw->y(y2); int X0,W,Y0,H; if(X1<=X2) { X0=X1; W=X2-X1; } else { X0=X2; W=X1-X2; } if(Y1<=Y2) { Y0=Y1; H=Y2-Y1; } else { Y0=Y2; H=Y1-Y2; } if(W==0 || H==0) { p->drawLine(X0,Y0,X0+W,Y0+H); } else { p->drawRect(X0,Y0,W,H); }} void ZCLineWidget::clear(){ this->Tel=NULL; this->CurrentDay=0; this->Data=NULL; this->repaint(); days=0;}void ZCLineWidget::paintEvent( QPaintEvent * ){ const int w0=58;const int ht=18; int w=this->width(); int h=this->height(); QPainter paint( this ); paint.setPen( QColor(0,0,255) ); // set random pen color paint.drawRect(w0,0,w-w0,h); paint.setPen(QPen(QColor(0,0,255),0,Qt::DotLine)); paint.drawLine(w0,h/2,w,h/2); if(Tel==NULL)return; if(days==0)return; int i; float MAX=-1;float MIN=0; for(i=0;i<DisplayDays;i++) { ZDaysStruct *k=Data+i; if(MAX<k->count())MAX=k->count(); } paint.drawText(0,0,w0,ht,Qt::AlignRight | Qt::AlignVCenter,QString("%1").arg(MAX,0,'f',0)); paint.drawText(0,h/2-ht/2,w0,ht,Qt::AlignRight | Qt::AlignVCenter,QString("%1").arg((MAX+MIN)/2,0,'f',0)); paint.drawText(0,h-ht,w0,ht,Qt::AlignRight | Qt::AlignVCenter,QString("%1").arg(MIN,0,'f',0)); zw->setWorld(w0,0,w-w0,h,-0.5,MIN,((float)(DisplayDays)-0.5),MAX); for(i=0;i<DisplayDays;i++) { ZDaysStruct *k=Data+i; if(k->open() <= k->close()) { paint.setPen( QColor(255,0,0) ); paint.setBrush(QColor(255,0,0)); } else { paint.setPen( QColor(0,255,0) ); paint.setBrush(QColor(0,255,0)); } drawRectF(&paint,-0.4+i,0.0,0.4+i,(k->count())); } paint.setPen( QColor(0,0,0) ); paint.drawLine(zw->x(CurrentDay),zw->y(MIN),zw->x(CurrentDay),zw->y(MAX)); }void ZCLineWidget::setCurrentDay(unsigned int d ){ this->CurrentDay=d; this->repaint();}void ZCLineWidget::setData(ZTel* tel,unsigned char style){// if(this->Tel!=NULL)delete(this->Tel); this->Tel=tel; this->style=style; if((style==0x10) || (style==0x20)) { if(Tel->isIndexDaysTel()) { Data=((ZDaysTel*)Tel)->getDay(0); days=((ZDaysTel*)Tel)->getDays();// getMinutes(Data+days-1,days-1); } else { return; } } else { if(Tel->isStockDaysTel()) { Data= ((ZDaysTel*)Tel)->getDay(0); days=((ZDaysTel*)Tel)->getDays(); } else { return; } } DisplayDays=days; CurrentDay=days-1; this->repaint();}void ZCLineWidget::mousePressEvent( QMouseEvent * e ){ if(e->button()!=Qt::LeftButton)return; int currentDay=(int)(((double)(zw->fx(e->x())))+0.5); getCurrentDay(Data+currentDay,currentDay);}void ZCLineWidget::mouseDoubleClickEvent ( QMouseEvent * e ){ if(e->button()!=Qt::LeftButton)return; int currentDay=(int)(((double)(zw->fx(e->x())))+0.5); getMinutes(Data+currentDay);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -