本页内容

QGraphicsEllipseItem Class

QGraphicsEllipseItem 类提供了一个椭圆项,您可以将其添加到QGraphicsScene 中。更多内容...

头文件: #include <QGraphicsEllipseItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承自: QAbstractGraphicsShapeItem

公共类型

enum { Type }

公共函数

QGraphicsEllipseItem(QGraphicsItem *parent = nullptr)
QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = nullptr)
QGraphicsEllipseItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr)
virtual ~QGraphicsEllipseItem()
QRectF rect() const
void setRect(const QRectF &rect)
void setRect(qreal x, qreal y, qreal width, qreal height)
void setSpanAngle(int angle)
void setStartAngle(int angle)
int spanAngle() const
int startAngle() const

重新实现的公共函数

virtual QRectF boundingRect() const override
virtual bool contains(const QPointF &point) const override
virtual bool isObscuredBy(const QGraphicsItem *item) const override
virtual QPainterPath opaqueArea() const override
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override
virtual QPainterPath shape() const override
virtual int type() const override

详细说明

QGraphicsEllipseItem 表示一个带有填充色和轮廓的椭圆,您也可以将其用于椭圆段(参见startAngle()、spanAngle())。

完整的椭圆形具有起始角和跨角的椭圆形状

要设置该项的椭圆,请将一个QRectF 传递给 QGraphicsEllipseItem 的构造函数,或调用setRect()。rect() 函数返回当前椭圆的几何形状。

QGraphicsEllipseItem 利用 rect 和笔宽来合理实现boundingRect()、shape() 和contains() 方法。paint() 函数使用与该项关联的笔和画笔绘制椭圆,您可通过调用setPen() 和setBrush() 来设置这些参数。

另请参阅 QGraphicsPathItem 、QGraphicsRectItem 、QGraphicsPolygonItem 、QGraphicsTextItem 、QGraphicsLineItem 、QGraphicsPixmapItem 以及Graphics View Framework。

成员类型文档

[anonymous] enum

虚拟函数type() 返回的值。

常量值描述
QGraphicsEllipseItem::Type4一个图形椭圆项

成员函数文档

[explicit] QGraphicsEllipseItem::QGraphicsEllipseItem(QGraphicsItem *parent = nullptr)

创建一个 QGraphicsEllipseItem。将 `parent ` 传递给 `QAbstractGraphicsShapeItem` 的构造函数。

另请参阅 QGraphicsScene::addItem()。

[explicit] QGraphicsEllipseItem::QGraphicsEllipseItem(const QRectF &rect, QGraphicsItem *parent = nullptr)

使用rect 作为默认矩形来构造一个QGraphicsEllipseItem。parent 将被传递给QAbstractGraphicsShapeItem 的构造函数。

另请参阅 QGraphicsScene::addItem()。

[explicit] QGraphicsEllipseItem::QGraphicsEllipseItem(qreal x, qreal y, qreal width, qreal height, QGraphicsItem *parent = nullptr)

使用由 (x,y) 定义的矩形以及给定的width 和height 作为默认矩形,构建一个 QGraphicsEllipseItem。parent 将作为参数传递给QAbstractGraphicsShapeItem 的构造函数。

另请参阅 QGraphicsScene::addItem()。

[virtual noexcept] QGraphicsEllipseItem::~QGraphicsEllipseItem()

销毁QGraphicsEllipseItem 。

[override virtual] QRectF QGraphicsEllipseItem::boundingRect() const

重新实现了:QGraphicsItem::boundingRect() const。

[override virtual] bool QGraphicsEllipseItem::contains(const QPointF &point) const

重写了:QGraphicsItem::contains(const QPointF &point) const。

[override virtual] bool QGraphicsEllipseItem::isObscuredBy(const QGraphicsItem *item) const

重写了:QAbstractGraphicsShapeItem::isObscuredBy(const QGraphicsItem *item) const。

[override virtual] QPainterPath QGraphicsEllipseItem::opaqueArea() const

重新实现了:QAbstractGraphicsShapeItem::opaqueArea() const。

[override virtual] void QGraphicsEllipseItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)

重写了:QGraphicsItem::paint (QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)。

QRectF QGraphicsEllipseItem::rect() const

返回该项的椭圆几何体,类型为QRectF 。

另请参阅 setRect() 和QPainter::drawEllipse()。

void QGraphicsEllipseItem::setRect(const QRectF &rect)

将项目的椭圆几何形状设置为rect 。矩形的左边缘定义了椭圆的左边缘,矩形的顶部边缘定义了椭圆的顶部。矩形的高和宽分别定义了椭圆的高和宽。

另请参阅 rect() 和QPainter::drawEllipse()。

void QGraphicsEllipseItem::setRect(qreal x, qreal y, qreal width, qreal height)

将该项的矩形设置为由 (x,y) 以及给定的width 和height 定义的矩形。

此便捷函数等同于调用setRect(QRectF(x, y, width, height))

另请参阅 rect()。

void QGraphicsEllipseItem::setSpanAngle(int angle)

将椭圆扇区的跨度角设置为angle ,该值以度的十六分之一为单位。该角度需与startAngle() 配合使用,以表示椭圆扇区(即扇形)。默认情况下,跨度角为5760(360 * 16,即完整的椭圆)。

另请参阅 spanAngle()、setStartAngle() 和QPainter::drawPie()。

void QGraphicsEllipseItem::setStartAngle(int angle)

将椭圆段的起始角度设置为angle ,该值以度的十六分之一为单位。该角度与spanAngle()配合使用,用于表示椭圆段(扇形)。默认情况下,起始角度为0。

另请参阅 startAngle()、setSpanAngle() 和QPainter::drawPie()。

[override virtual] QPainterPath QGraphicsEllipseItem::shape() const

重新实现了:QGraphicsItem::shape() const。

int QGraphicsEllipseItem::spanAngle() const

返回椭圆扇区的跨角,单位为度的十六分之一。该角度需与startAngle()函数配合使用,以表示椭圆扇区(饼图)。默认情况下,该函数返回5760(360 * 16,即完整的椭圆)。

另请参阅 setSpanAngle() 和startAngle()。

int QGraphicsEllipseItem::startAngle() const

返回椭圆扇区的起始角度,单位为度的十六分之一。该角度需与spanAngle()函数配合使用,以表示椭圆扇区(即扇形)。默认情况下,起始角度为0。

另请参阅 setStartAngle() 和spanAngle()。

[override virtual] int QGraphicsEllipseItem::type() const

重新实现了:QGraphicsItem::type() const。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.