当前位置: 技术问答>linux和unix
看看这个代码问题在哪?
来源: 互联网 发布时间:2015-10-27
本文导语: 以下是节选自QT4中的paintEvent(QPaintEvent *),之前只是一些初始化动作。 。。。。 paintTarget(painter); rColor=RandomGenerator(0,255,(int)nLoop*time(0)); ...
以下是节选自QT4中的paintEvent(QPaintEvent *),之前只是一些初始化动作。
。。。。
paintTarget(painter);
rColor=RandomGenerator(0,255,(int)nLoop*time(0));
gColor=RandomGenerator(0,255,(int)20*nLoop*time(0));
bColor=RandomGenerator(0,255,(int)100*nLoop*time(0));
pen.setColor( QColor(rColor,gColor,bColor) );
pen.setWidth( RandomGenerator(0,20,(int)nLoop*time(0)) );
painter.setPen(pen);
painter.setBrush(brush);
brush.setColor( QColor(rColor,gColor,bColor) );
painter.fillRect(QRect(x1,y1,x2,y2),brush);//问题所在行
painter.drawRect( QRect(x1,y1,x2,y2) );
加了代码中标注的那一行之后,可以编译,但运行的时候报错:Floating point exception!,去掉那一行就没有问题了,不知道是什么缘故,请大家看看,指点一下,谢谢!
。。。。
paintTarget(painter);
rColor=RandomGenerator(0,255,(int)nLoop*time(0));
gColor=RandomGenerator(0,255,(int)20*nLoop*time(0));
bColor=RandomGenerator(0,255,(int)100*nLoop*time(0));
pen.setColor( QColor(rColor,gColor,bColor) );
pen.setWidth( RandomGenerator(0,20,(int)nLoop*time(0)) );
painter.setPen(pen);
painter.setBrush(brush);
brush.setColor( QColor(rColor,gColor,bColor) );
painter.fillRect(QRect(x1,y1,x2,y2),brush);//问题所在行
painter.drawRect( QRect(x1,y1,x2,y2) );
加了代码中标注的那一行之后,可以编译,但运行的时候报错:Floating point exception!,去掉那一行就没有问题了,不知道是什么缘故,请大家看看,指点一下,谢谢!
|
把x1,y1,x2,y2的值打出来看看是不是非法
|
brush是不是应该取指针呢?