本文主要是介绍Qt 绘制中的视口(setViewport)和窗口(setWindow),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
重点 :
1.绘制(QPainter)可以设置视口,视口下设置窗口,而绘制的构件是以窗口为坐标系进行绘画。
2.先根据绘图设备的物理坐标系的矩形位置,设置视图视口setViewport,然后在以视口为区域去设置窗口的左上角位置和长宽矩形区域,视口的左上角为0,0点,窗口根据计算将视口的左上角作为窗口坐标系左上角的位置。
void Widget::myDrawWire()
{QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing);int W=width();int H=height();int side=qMin(W,H); //取长和宽的小值QRect rect((W-side)/2, (H-side)/2,side,side); //viewport矩形区painter.drawRect(rect); //绘制Viewport边界painter.setViewport(rect); //设置Viewportpainter.setWindow(-100,-100,200,200); //设置窗口坐标系//设置画笔QPen pen;pen.setWidth(1); //线宽pen.setColor(Qt::red); //划线颜色pen.setStyle(Qt::SolidLine); //线的类型pen.setCapStyle(Qt::FlatCap); //线端点样式pen.setJoinStyle(Qt::BevelJoin);//线的连接点样式painter.setPen(pen);for(int i=0; i<36; i++){painter.drawEllipse(QPoint(50,0),50,50);painter.rotate(10);}}
这篇关于Qt 绘制中的视口(setViewport)和窗口(setWindow)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!