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。
成员函数文档
[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.