本页内容

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 { 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 以及Graphics View Framework。

成员类型文档

[anonymous] enum

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

常量值描述
QGraphicsLineItem::Type6图形线项目

成员函数文档

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

创建一个 QGraphicsLineItem。parent 将作为参数传递给QGraphicsItem 的构造函数。

另请参阅 QGraphicsScene::addItem()。

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

使用line 作为默认线条,构建一个QGraphicsLineItem。将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。

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