给图形横坐标加滚动轴
这是模拟的串口数据
滚动轴值变化对应的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