QGraphicsLineItem Class

QGraphicsLineItem 类提供了一个行项目,您可以将其添加到QGraphicsScene... 更多...

标题: #include <QGraphicsLineItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
继承: QGraphicsItem

公共类型

enum anonymous { Type }

公共函数

QGraphicsLineItem(QGraphicsItem *parent = nullptr)
QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = nullptr)
QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = nullptr)
virtual ~QGraphicsLineItem()
QLineF line() const
QPen pen() const
void setLine(const QLineF &line)
void setLine(qreal x1, qreal y1, qreal x2, qreal y2)
void setPen(const QPen &pen)

重新实现的公共函数

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

详细说明

要设置项目的行,请向 QGraphicsLineItem 的构造函数传递QLineF 或调用setLine() 函数。line() 函数返回当前行。默认情况下,线条为黑色,宽度为 0,但您可以调用setPen() 进行更改。

QGraphicsLineItem 使用线条和笔宽来合理实现boundingRect(),shape(), 和contains().paint() 函数使用项目的关联笔绘制线条。

另请参阅 QGraphicsPathItem,QGraphicsRectItem,QGraphicsEllipseItem,QGraphicsTextItem,QGraphicsPolygonItem,QGraphicsPixmapItem图形视图框架

成员类型文档

enum QGraphicsLineItem::anonymous

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

常量说明
QGraphicsLineItem::Type6图形行项目

成员函数文档

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

构造一个 QGraphicsLineItem。parent 传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem().

[explicit] QGraphicsLineItem::QGraphicsLineItem(const QLineF &line, QGraphicsItem *parent = nullptr)

构造一个 QGraphicsLineItem,使用line 作为默认行。parent 将传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem().

[explicit] QGraphicsLineItem::QGraphicsLineItem(qreal x1, qreal y1, qreal x2, qreal y2, QGraphicsItem *parent = nullptr)

构造一个 QGraphicsLineItem,使用 (x1,y1) 和 (x2,y2) 之间的行作为默认行。parent 将传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem().

[virtual noexcept] QGraphicsLineItem::~QGraphicsLineItem()

摧毁QGraphicsLineItem.

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

重实现:QGraphicsItem::boundingRect() const.

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

重实现:QGraphicsItem::contains(const QPointF &point) const.

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

重实现:QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

QLineF QGraphicsLineItem::line() const

返回项目的行,如果没有设置行,则返回空行。

另请参阅 setLine()。

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

重实现:QGraphicsItem::opaqueArea() const.

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

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

QPen QGraphicsLineItem::pen() const

返回项目的钢笔,如果没有设置钢笔,则返回 0 宽度的黑色实心钢笔。

另请参阅 setPen()。

void QGraphicsLineItem::setLine(const QLineF &line)

将项目的行设置为给定的line

另请参阅 line() 。

void QGraphicsLineItem::setLine(qreal x1, qreal y1, qreal x2, qreal y2)

这是一个重载函数。

将项目的行设置为 (x1,y1) 和 (x2,y2) 之间的一行。

这与调用setLine(QLineF(x1, y1, x2, y2)) 相同。

void QGraphicsLineItem::setPen(const QPen &pen)

将项目的钢笔设置为pen 。如果没有设置钢笔,将使用黑色 0 宽实心钢笔绘制线条。

另请参阅 pen() 。

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

重实现:QGraphicsItem::shape() const.

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

重实现:QGraphicsItem::type() const.

© 2025 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.