900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > Qt图形视图框架:图形形状图形项

Qt图形视图框架:图形形状图形项

时间:2023-07-09 17:48:19

相关推荐

Qt图形视图框架:图形形状图形项

一、QAbstractGraphicsShapeItem

1.1、描述

形状图形项的抽象类,没有实现boundingRect()和paint()。

1.2、成员函数

1、void setBrush(const QBrush &brush)

设置形状图形项的笔刷。如果使用带有QGradient的画笔,则渐变是相对于图形项的坐标系的。

2、void setPen(const QPen &pen)

设置描绘系统图形项轮廓的画笔。

二、QGraphicsRectItem

2.1、描述

矩形图形项。

2.2、成员函数

1、void setRect(const QRectF &rectangle) /QRectF rect()

设置/获取矩形区域。

2、void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)

非常简单的实现,绘制矩形,选中时绘制高亮边框:

三、QGraphicsEllipseItem

3.1、描述

椭圆图形项,也可以设置为扇形。

3.2、成员函数

1、void setRect(const QRectF &rect)

椭圆的外接矩形。

2、void setSpanAngle(int angle)

设置扇形的跨度。

3、void setStartAngle(int angle)

设置扇形的开始角度。

QGraphicsEllipseItem * item = new QGraphicsEllipseItem(30,30,400,200);item->setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable);item->setBrush(Qt::cyan);gphs->addItem(item);

QGraphicsEllipseItem * item = new QGraphicsEllipseItem(30,30,400,200);item->setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable);item->setBrush(Qt::cyan);item->setStartAngle(30 * 16);item->setSpanAngle(90 * 16);gphs->addItem(item);

四、QGraphicsPolygonItem

4.1、描述

多边形图形项。

QPolygonF p;p<<QPointF(30,100)<<QPointF(20,300)<<QPointF(60,0);QGraphicsPolygonItem * item = new QGraphicsPolygonItem(p);item->setBrush(Qt::cyan);item->setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable);gphs->addItem(item);

五、QGraphicsPathItem

5.1、描述

路径图形项。

QPainterPath p;p.lineTo(30,0);p.addEllipse(30,-30,30,60);p.addRect(-30,-30,30,60);p.addText(QPointF(60,60),QFont("微软雅黑",30),"黄河之水天上来,奔流到海不复回");QGraphicsPathItem * item = new QGraphicsPathItem(p);item->setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable);gphs->addItem(item);

六、QGraphicsSimpleTextItem

6.1、描述

简单的文本路径图形项。

QGraphicsSimpleTextItem * item = new QGraphicsSimpleTextItem("黄河之水天上来");item->setBrush(Qt::cyan);QPen pen;pen.setWidth(1);pen.setColor(Qt::red);item->setPen(pen);item->setFont(QFont("微软雅黑",40));item->setFlags(QGraphicsItem::ItemIsMovable|QGraphicsItem::ItemIsSelectable);gphs->addItem(item);

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。