1、首先视口与物理坐标相对应,指的是我们在屏幕上看到的实际的一个个像素点和其坐标;窗口和逻辑坐标相对应。在Qt中进行绘图时,都是现在逻辑坐标系中绘制好,然后在转换到物理坐标系(视口)上去,所以Qt中的绘图函数的参数也都是针对逻辑坐标的。
(1)、默认情况下,逻辑坐标和物理坐标的原点和单位长度是一致的,所以下面代码绘制:
QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing,true);
//定义线性渐变对象
QLinearGradient linearGradient(0,0,200,200);
linearGradient.setColorAt(0.2,Qt::white);
linearGradient.setColorAt(0.6,Qt::green);
linearGradient.setColorAt(01.0,Qt::black);
painter.setPen(QPen(QBrush(linearGradient),5));
painter.drawLine(0,0,100,100);
视口展现出来的绘制的线段大小永远是不变的,长和宽都是100.
(2)、进行setwindow后:
QPainter painter(this);
/*设置逻辑坐