当前位置:编程学习 > wap >>

给图形横坐标加滚动轴


这是模拟的串口数据
滚动轴值变化对应的setX(int)槽函数

下面是painterEvent里面相应的画图函数
/* 重绘事件函数 */
void plot::paintEvent(QPaintEvent *)
{

    float w=width();
    float h=height();
    float dx=w/130;
    float dy=h/12.0;
    QPainter painter(this);
    painter.fillRect(0,0,w,h,QColor(0,0,0) );
    painter.translate(5*dx,6*dy);
   painter.setPen(QPen(Qt::red, 2)); //设置画笔颜色和大小
   painter.drawLine(-5*dx,0,130*dy,0);//  绘制横坐标
    painter.drawLine(0,-6*dy,0,6*dy);//  绘制zong坐标
   painter.setPen(QPen(Qt::red, 1)); //设置画笔颜色和大小
   for(int i=1;i<7;i++)//
   {
       painter.drawLine(20*i*dx,0,20*i*dx,-5.0);
   }
   painter.setPen(QPen(Qt::green, 1)); //设置画笔颜色和大小
    int num=m_list1.count();
    QPointF curve[num];

    int initIndex = 0;

    for(int j=0;j<num;j++)
    {
        if(curve[j].x()>= m_thisX)
        {
            initIndex = j;
            break;
        }

    }

    for(int i=initIndex;i<num;i++)
    {
        curve[i].setX(i*dx);
        curve[i].setY(m_list1.at(i)*-5*dy/3.3);
    }
       painter.drawPolyline(curve,num);// 绘制数据
}

我这样写 滚动轴不起作用 请大家帮帮忙?? Qt ,图形 ,QScrollBar   --------------------编程问答-------------------- 不起作用是什么意思

你每次绘制时应该先移动坐标原点
补充:移动开发 ,  Qt
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,