大神们,早上好!我在绘图过程中碰到一个问题,自己太菜,搞不定,请大神指点。
我在QWidget主界面中开辟了一块空白的画布,上面划好了坐标系(平面直角坐标系),然后我还要在与X轴平行每隔10个像素划和X轴一样长度的虚线,Y轴也是一样每隔10个像素划和Y轴平行的竖线,让界面显示的是全是10*10的虚线小方格,我的代码如下:
X轴长度360,Y轴长度270
QPainter painter(this);
int i,j;
for(i=10;i<=270;i+=10)
{
painter.translate(0,i);
painter.drawLine(0,i,360,i);
}//划横线
for(j=10;j<=360;j+=10)
{
painter.treanslate(j,0);
painter.drawLine(j,0,j,270);
}//划竖线
结果:只划了横线,竖线没划,横线也不是每隔10个像素一条,怎么回事?
------解决思路----------------------
painter.translate(0,i);
painter.drawLine(0,i,360,i);
上面代码,这两个结合在一起用有问题。如果不使用translate,就是对的。如果要用translate,就这样drawLine(0, 10, 360, 10)