三步理解Qt中的setViewport和setWindow
Qt中的逻辑坐标系统和物理坐标系统是通过setWindow和setViewport函数来设定,二者的参数都是矩形QRect(),理解起来颇为费劲,网上查阅了不少,但是真正理解起来还是得靠自己进行测试。
霍亚飞的《Qt快速开发》上称呼“窗口”和“视口”,窗口是逻辑坐标系统的(QRect),视口是物理坐标系统的块。将窗口映射到视口,可以理解为将逻辑坐标上设定的块(QRect)进行放大缩小直至四个角分别与视口重合。绕晕了也没关系,直接上例子。。
第一步 理解逻辑坐标系统才是QPainter绘制图像的地方

如上图在逻辑坐标系统上绘制一个矩形:
//重写paintEvent函数如下:
void MainWindow::paintEvent(QPaintEvent *event){
Q_UNUSED(event)//去除event未使用的告警
QPainter painter(this);
QPainterPath path;
path.moveTo(10,10);
path.lineTo(110,10);
path.lineTo(110,110);
path.lineTo(10,110);
path.closeSubpath();//直线连接到开始点
painter.setPen(QPen(Qt::red,2,Qt::SolidLine,Qt::RoundCap,Qt

最低0.47元/天 解锁文章
444

被折叠的 条评论
为什么被折叠?



