QGraphicsTextItem Class

Die Klasse QGraphicsTextItem stellt ein Textelement zur Verfügung, das Sie zu einer QGraphicsScene hinzufügen können, um formatierten Text anzuzeigen. Mehr...

Kopfzeile: #include <QGraphicsTextItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbungen: QGraphicsObject

Öffentliche Typen

enum anonymous { Type }

Eigenschaften

Öffentliche Funktionen

QGraphicsTextItem(QGraphicsItem *parent = nullptr)
QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)
virtual ~QGraphicsTextItem()
void adjustSize()
QColor defaultTextColor() const
QTextDocument *document() const
QFont font() const
bool openExternalLinks() const
void setDefaultTextColor(const QColor &col)
void setDocument(QTextDocument *document)
void setFont(const QFont &font)
void setHtml(const QString &text)
void setOpenExternalLinks(bool open)
void setPlainText(const QString &text)
void setTabChangesFocus(bool b)
void setTextCursor(const QTextCursor &cursor)
void setTextInteractionFlags(Qt::TextInteractionFlags flags)
void setTextWidth(qreal width)
bool tabChangesFocus() const
QTextCursor textCursor() const
Qt::TextInteractionFlags textInteractionFlags() const
qreal textWidth() const
QString toHtml() const
QString toPlainText() const

Reimplementierte öffentliche Funktionen

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) override
virtual QPainterPath shape() const override
virtual int type() const override

Signale

void linkActivated(const QString &link)
void linkHovered(const QString &link)

Reimplementierte geschützte Funktionen

virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) override
virtual void dragEnterEvent(QGraphicsSceneDragDropEvent *event) override
virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent *event) override
virtual void dragMoveEvent(QGraphicsSceneDragDropEvent *event) override
virtual void dropEvent(QGraphicsSceneDragDropEvent *event) override
virtual void focusInEvent(QFocusEvent *event) override
virtual void focusOutEvent(QFocusEvent *event) override
virtual void hoverEnterEvent(QGraphicsSceneHoverEvent *event) override
virtual void hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent *event) override
virtual void inputMethodEvent(QInputMethodEvent *event) override
virtual QVariant inputMethodQuery(Qt::InputMethodQuery query) const override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void keyReleaseEvent(QKeyEvent *event) override
virtual void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event) override
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override
virtual bool sceneEvent(QEvent *event) override

Ausführliche Beschreibung

Wenn Sie nur einfachen Text in einem Element anzeigen müssen, sollten Sie stattdessen QGraphicsSimpleTextItem verwenden.

Um den Text des Elements zu setzen, übergeben Sie eine QString an den Konstruktor von QGraphicsTextItem, oder rufen Sie setHtml()/setPlainText() auf.

QGraphicsTextItem verwendet die formatierte Größe des Textes und die zugehörige Schriftart, um eine vernünftige Implementierung von boundingRect(), shape() und contains() zu ermöglichen. Sie können die Schriftart durch den Aufruf von setFont() einstellen.

Es ist möglich, das Element editierbar zu machen, indem das Kennzeichen Qt::TextEditorInteraction mit setTextInteractionFlags() gesetzt wird.

Die bevorzugte Textbreite des Elements kann mit setTextWidth() eingestellt und mit textWidth() ermittelt werden.

Hinweis: Um HTML-Text mittig auszurichten, muss die Textbreite des Eintrags festgelegt werden. Andernfalls können Sie adjustSize() aufrufen, nachdem Sie den Text des Elements gesetzt haben.

Hinweis: QGraphicsTextItem akzeptiert standardmäßig hover events. Sie können dies mit setAcceptHoverEvents() ändern.

Siehe auch QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem, und Graphics View Framework.

Dokumentation der Mitgliedstypen

enum QGraphicsTextItem::anonymous

Der Wert, der von der virtuellen Funktion type() zurückgegeben wird.

KonstanteWertBeschreibung
QGraphicsTextItem::Type8Ein grafisches Textelement

Eigenschaft Dokumentation

Gibt an, ob QGraphicsTextItem automatisch Links mit QDesktopServices::openUrl() öffnen soll, anstatt das Signal linkActivated zu senden.

Der Standardwert ist false.

Zugriffsfunktionen:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

textCursor : QTextCursor

Diese Eigenschaft stellt den sichtbaren Textcursor in einem bearbeitbaren Textelement dar.

Wenn der Text des Elements nicht festgelegt wurde, enthält diese Eigenschaft standardmäßig einen Null-Textcursor; andernfalls enthält sie einen Textcursor, der am Anfang des Elements platziert ist.

Zugriffsfunktionen:

QTextCursor textCursor() const
void setTextCursor(const QTextCursor &cursor)

Dokumentation der Mitgliedsfunktionen

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

Konstruiert ein QGraphicsTextItem. parent wird an den Konstruktor von QGraphicsItem übergeben.

Siehe auch QGraphicsScene::addItem().

[explicit] QGraphicsTextItem::QGraphicsTextItem(const QString &text, QGraphicsItem *parent = nullptr)

Konstruiert ein QGraphicsTextItem, wobei text als Standard-Klartext verwendet wird. parent wird an den Konstruktor von QGraphicsItem übergeben.

Siehe auch QGraphicsScene::addItem().

[virtual noexcept] QGraphicsTextItem::~QGraphicsTextItem()

Zerstört die QGraphicsTextItem.

void QGraphicsTextItem::adjustSize()

Passt das Textelement auf eine angemessene Größe an.

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

Reimplements: QGraphicsItem::boundingRect() const.

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

Reimplements: QGraphicsItem::contains(const QPointF &point) const.

[override virtual protected] void QGraphicsTextItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)

Reimplements: QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event).

QColor QGraphicsTextItem::defaultTextColor() const

Gibt die Standardtextfarbe zurück, die für unformatierten Text verwendet wird.

Siehe auch setDefaultTextColor().

QTextDocument *QGraphicsTextItem::document() const

Gibt das Textdokument des Artikels zurück.

Siehe auch setDocument().

[override virtual protected] void QGraphicsTextItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)

Reimplements: QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)

Reimplements: QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)

Reimplements: QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::dropEvent(QGraphicsSceneDragDropEvent *event)

Reimplements: QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event).

[override virtual protected] void QGraphicsTextItem::focusInEvent(QFocusEvent *event)

Reimplements: QGraphicsItem::focusInEvent(QFocusEvent *event).

[override virtual protected] void QGraphicsTextItem::focusOutEvent(QFocusEvent *event)

Reimplements: QGraphicsItem::focusOutEvent(QFocusEvent *event).

QFont QGraphicsTextItem::font() const

Gibt die Schriftart des Elements zurück, die für die Darstellung des Textes verwendet wird.

Siehe auch setFont().

[override virtual protected] void QGraphicsTextItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)

Reimplements: QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)

Reimplements: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)

Reimplements: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).

[override virtual protected] void QGraphicsTextItem::inputMethodEvent(QInputMethodEvent *event)

Reimplements: QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).

[override virtual protected] QVariant QGraphicsTextItem::inputMethodQuery(Qt::InputMethodQuery query) const

Reimplements: QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const.

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

Reimplements: QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

[override virtual protected] void QGraphicsTextItem::keyPressEvent(QKeyEvent *event)

Reimplements: QGraphicsItem::keyPressEvent(QKeyEvent *event).

[override virtual protected] void QGraphicsTextItem::keyReleaseEvent(QKeyEvent *event)

Reimplements: QGraphicsItem::keyReleaseEvent(QKeyEvent *event).

[signal] void QGraphicsTextItem::linkActivated(const QString &link)

Dieses Signal wird ausgegeben, wenn der Benutzer auf einen Link in einem Textelement klickt, das Qt::LinksAccessibleByMouse oder Qt::LinksAccessibleByKeyboard aktiviert. link ist der Link, auf den geklickt wurde.

Siehe auch setTextInteractionFlags().

[signal] void QGraphicsTextItem::linkHovered(const QString &link)

Dieses Signal wird ausgegeben, wenn der Benutzer den Mauszeiger über einen Link in einem Textelement bewegt, das Qt::LinksAccessibleByMouse aktiviert. link ist der Link, über den der Mauszeiger bewegt wurde.

Siehe auch setTextInteractionFlags().

[override virtual protected] void QGraphicsTextItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)

Reimplements: QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)

Reimplements: QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mousePressEvent(QGraphicsSceneMouseEvent *event)

Reimplements: QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event).

[override virtual protected] void QGraphicsTextItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)

Reimplements: QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event).

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

Reimplements: QGraphicsItem::opaqueArea() const.

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

Reimplements: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).

[override virtual protected] bool QGraphicsTextItem::sceneEvent(QEvent *event)

Reimplements: QGraphicsItem::sceneEvent(QEvent *Event).

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

Setzt die Farbe für unformatierten Text auf col.

Siehe auch defaultTextColor().

void QGraphicsTextItem::setDocument(QTextDocument *document)

Setzt das Textdokument document auf das Element.

Siehe auch document().

void QGraphicsTextItem::setFont(const QFont &font)

Setzt die Schriftart, die zum Rendern des Textelements verwendet wird, auf font.

Siehe auch font().

void QGraphicsTextItem::setHtml(const QString &text)

Setzt den Text des Elements auf text, vorausgesetzt, der Text ist HTML-formatiert. Wenn das Element den Fokus der Tastatureingabe hat, ruft diese Funktion auch ensureVisible() auf, um sicherzustellen, dass der Text in allen Ansichtsfenstern sichtbar ist.

Siehe auch toHtml(), hasFocus(), und QGraphicsSimpleTextItem.

void QGraphicsTextItem::setPlainText(const QString &text)

Setzt den Text des Elements auf text. Wenn das Element den Fokus der Tastatureingabe hat, ruft diese Funktion auch ensureVisible() auf, um sicherzustellen, dass der Text in allen Ansichtsfenstern sichtbar ist.

Siehe auch toHtml() und hasFocus().

void QGraphicsTextItem::setTabChangesFocus(bool b)

Wenn b wahr ist, bewirkt die Taste Tab, dass das Widget den Fokus ändert; andernfalls fügt die Tabulatortaste einen Tabulator in das Dokument ein.

In manchen Fällen sollten Textbearbeitungen dem Benutzer nicht erlauben, Tabulatoren einzugeben oder die Einrückung mit der Taste Tab zu ändern, da dies die Fokuskette unterbricht. Die Voreinstellung ist false.

Siehe auch tabChangesFocus(), ItemIsFocusable, und textInteractionFlags().

void QGraphicsTextItem::setTextInteractionFlags(Qt::TextInteractionFlags flags)

Setzt die Flags flags, um festzulegen, wie das Textelement auf Benutzereingaben reagieren soll.

Der Standardwert für QGraphicsTextItem ist Qt::NoTextInteraction. Diese Funktion wirkt sich auch auf das Flag ItemIsFocusable QGraphicsItem aus, indem es gesetzt wird, wenn flags sich von Qt::NoTextInteraction unterscheidet, und andernfalls gelöscht wird.

Standardmäßig ist der Text schreibgeschützt. Um das Element in einen Editor zu verwandeln, setzen Sie das Flag Qt::TextEditable.

Siehe auch textInteractionFlags().

void QGraphicsTextItem::setTextWidth(qreal width)

Legt die bevorzugte Breite für den Text des Artikels fest. Ist der tatsächliche Text breiter als die angegebene Breite, wird er in mehrere Zeilen umbrochen.

Wenn width auf -1 gesetzt ist, wird der Text nicht in mehrere Zeilen umbrochen, es sei denn, dies wird durch einen expliziten Zeilenumbruch oder einen neuen Absatz erzwungen.

Der Standardwert ist -1.

Beachten Sie, dass QGraphicsTextItem intern eine QTextDocument behält, die zur Berechnung der Textbreite verwendet wird.

Siehe auch textWidth() und QTextDocument::setTextWidth().

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

Reimplements: QGraphicsItem::shape() const.

bool QGraphicsTextItem::tabChangesFocus() const

Gibt true zurück, wenn die Taste Tab das Widget veranlasst, den Fokus zu ändern; andernfalls wird false zurückgegeben.

Standardmäßig ist dieses Verhalten deaktiviert, und diese Funktion gibt false zurück.

Siehe auch setTabChangesFocus().

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

Gibt die aktuellen Textinteraktionsflags zurück.

Siehe auch setTextInteractionFlags().

qreal QGraphicsTextItem::textWidth() const

Gibt die Textbreite zurück.

Die Breite wird mit der QTextDocument berechnet, die QGraphicsTextItem intern speichert.

Siehe auch setTextWidth() und QTextDocument::textWidth().

QString QGraphicsTextItem::toHtml() const

Gibt den in HTML umgewandelten Text des Eintrags zurück, oder ein leeres QString, wenn kein Text festgelegt wurde.

Siehe auch setHtml().

QString QGraphicsTextItem::toPlainText() const

Gibt den in Klartext umgewandelten Text des Eintrags zurück, oder ein leeres QString, wenn kein Text festgelegt wurde.

Siehe auch setPlainText().

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

Reimplements: 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.