Example #1
0
void CThermoMeterItem::drawMark(QPainter *painter)
{
    painter->save();

    qreal initY=m_topSpace;
    qreal initX=m_markSpace;
    qreal length=boundingRect().height()-2*m_topSpace;
    qreal increment=length/100;
    painter->setPen(m_markClr);

    // draw vertical line
    QPointF topPot(m_markSpace,m_topSpace);
    QPointF bottomPot(m_markSpace,boundingRect().height()-m_topSpace);
    painter->drawLine(topPot,bottomPot);

    int vvalue=100;
    QString strValue;
    for(int i=0;i<=100;i++)
    {
        if(i%10==0)
        {
            QPointF leftPot(initX+LONG3,initY);
            QPointF rightPot(initX,initY);
            painter->drawLine(leftPot,rightPot);

            strValue=tr("%1").arg(vvalue);
            qreal fontWidth=painter->fontMetrics().width(strValue);
            qreal fontHeight=painter->fontMetrics().height();

            QPointF textPot(initX-fontWidth-5,initY+fontHeight/2);
            painter->drawText(textPot,strValue);

            vvalue-=10;

        }
        else if(i%5==0 && i%10!=0)
        {
            QPointF leftPot(initX+OK3,initY);
            QPointF rightPot(initX,initY);
            painter->drawLine(leftPot,rightPot);
        }
        else
        {
            QPointF leftPot(initX+SHORT3,initY);
            QPointF rightPot(initX,initY);
            painter->drawLine(leftPot,rightPot);
        }
        initY+=increment;
    }
    painter->restore();
}
Example #2
0
void PerfMon::drawFrame(QPainter *painter)
{
    painter->save();
    QPen framePen(m_frameClr);
    framePen.setStyle(Qt::DotLine);
    painter->setPen(framePen);
    painter->drawRect(rect());

    qreal yIncrement=(qreal)height()/10;
    qreal xIncrement=(qreal)width()/10;
    qreal startX=0;
    qreal startY=0;

    for(int i=0;i<10;i++)
    {

        // draw horizontal lines
        QPointF leftPot(0,startY);
        QPointF rightPot(width(),startY);
        startY+=yIncrement;
        painter->drawLine(leftPot,rightPot);

        // draw vertical lines
        QPointF topPot(startX,0);
        QPointF bottomPot(startX,height());
        startX+=xIncrement;
        painter->drawLine(topPot,bottomPot);
    }

    painter->restore();
}
Example #3
0
void CIndicator::drawBars(QPainter* painter)
{
    painter->save();
    painter->setPen(QPen(INDICATOR_FRAME_COLOR,INDICATOR_PEN_WIDTH));

    qreal left=m_rectTopLeft.x();
    qreal right=m_rectBottomRight.x();

    qreal top=m_rectTopLeft.y();
    qreal bottom=m_rectBottomRight.y();
    qreal increment=(bottom-top)/10;

    while(top<bottom)
    {
        QPointF leftPot(left,top);
        QPointF rightPot(right,top);
        painter->drawLine(leftPot,rightPot);
        top+=increment;
    }
    painter->restore();

}