赞
踩
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);
-
- /*设置逻辑坐标(50,50)对应设备坐标的原点
- *设置逻辑宽(100)和高(100)分别对相应设备的宽和高
- *这样窗口中的逻辑坐标和视口中的物理坐标总成一种
- *对应的比例关系,和设备的大小和分辨率无关。
- */
- painter.setWindow(50,50,1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。