QGraphicsTextItem Class

QGraphicsTextItem クラスは、整形されたテキストを表示するためにQGraphicsScene に追加できるテキストアイテムを提供します。詳細...

ヘッダー #include <QGraphicsTextItem>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承: QGraphicsObject

パブリックな型

enum anonymous { Type }

プロパティ

パブリック関数

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

再実装パブリック関数

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

シグナル

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

再実装された保護された関数

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

詳細説明

アイテムにプレーンテキストだけを表示する必要がある場合は、代わりにQGraphicsSimpleTextItem を使用することを検討してください。

アイテムのテキストを設定するには、QString を QGraphicsTextItem のコンストラクタに渡すか、setHtml()/setPlainText() を呼び出します。

QGraphicsTextItem は、boundingRect()、shape()、contains() の合理的な実装を提供するために、テキストのフォーマットされたサイズと関連するフォントを使用します。setFont() を呼び出すことで、フォントを設定できます。

setTextInteractionFlags() を使用してQt::TextEditorInteraction フラグを設定することで、項目を編集可能にすることができます。

アイテムの優先テキスト幅は、setTextWidth() で設定でき、textWidth() で取得できます。

注意: HTML テキストを中央に配置するには、アイテムのテキスト幅を設定する必要があります。そうでない場合は、アイテムのテキストを設定した後でadjustSize() を呼び出します。

: QGraphicsTextItem は、デフォルトでhover events を受け入れます。これはsetAcceptHoverEvents() で変更できます。

QGraphicsSimpleTextItem,QGraphicsPathItem,QGraphicsRectItem,QGraphicsEllipseItem,QGraphicsPixmapItem,QGraphicsPolygonItem,QGraphicsLineItem, およびGraphics View Frameworkも参照のこと

メンバー型ドキュメント

enum QGraphicsTextItem::anonymous

仮想type() 関数が返す値。

定数説明
QGraphicsTextItem::Type8グラフィックテキスト項目

プロパティ ドキュメント

linkActivated シグナルを発する代わりに、QDesktopServices::openUrl() を使ってQGraphicsTextItem が自動的にリンクを開くかどうかを指定する。

デフォルト値はfalse。

アクセス関数:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

textCursor : QTextCursor

このプロパティは、編集可能なテキストアイテムの可視テキストカーソルを表す。

デフォルトでは、アイテムのテキストが設定されていない場合、このプロパティは null テキストカーソルを含み、そうでない場合、アイテムのドキュメントの先頭に配置されたテキストカーソルを含む。

アクセス関数:

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

メンバ関数ドキュメント

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

QGraphicsTextItem を構築します。parentQGraphicsItem のコンストラクタに渡されます。

QGraphicsScene::addItem()も参照してください

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

text をデフォルトのプレーンテキストとして QGraphicsTextItem を構築します。parentQGraphicsItem のコンストラクタに渡されます。

QGraphicsScene::addItem()も参照してください

[virtual noexcept] QGraphicsTextItem::~QGraphicsTextItem()

QGraphicsTextItem を破壊する。

void QGraphicsTextItem::adjustSize()

テキスト項目を適切なサイズに調整します。

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

再実装:QGraphicsItem::boundingRect() const.

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

再実装:QGraphicsItem::contains(const QPointF &point) const.

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

再実装:QGraphicsItem::contextMenuEvent(QGraphicsSceneContextMenuEvent *event)を再実装します。

QColor QGraphicsTextItem::defaultTextColor() const

書式なしテキストに使われるデフォルトのテキスト色を返します。

setDefaultTextColor()も参照 ください。

QTextDocument *QGraphicsTextItem::document() const

アイテムのテキスト・ドキュメントを返します。

setDocument()も参照してください

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

再実装:QGraphicsItem::dragEnterEvent(QGraphicsSceneDragDropEvent *event)を再実装します。

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

再実装:QGraphicsItem::dragLeaveEvent(QGraphicsSceneDragDropEvent *event)を再実装します。

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

再実装:QGraphicsItem::dragMoveEvent(QGraphicsSceneDragDropEvent *event)を再実装します。

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

再実装:QGraphicsItem::dropEvent(QGraphicsSceneDragDropEvent *event)を再実装します。

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

再実装:QGraphicsItem::focusInEvent(QFocusEvent *event)。

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

再実装:QGraphicsItem::focusOutEvent(QFocusEvent *event)。

QFont QGraphicsTextItem::font() const

テキストのレンダリングに使用されるアイテムのフォントを返します。

setFont()も参照ください

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

再実装:QGraphicsItem::hoverEnterEvent(QGraphicsSceneHoverEvent *event)。

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

再実装:QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)。

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

再実装:QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)。

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

再実装:QGraphicsItem::inputMethodEvent(QInputMethodEvent *event).

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

再実装:QGraphicsItem::inputMethodQuery(Qt::InputMethodQuery query) const.

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

再実装:QGraphicsItem::isObscuredBy(const QGraphicsItem *item) const.

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

再実装:QGraphicsItem::keyPressEvent(QKeyEvent *event)。

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

再実装:QGraphicsItem::keyReleaseEvent(QKeyEvent *event)。

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

このシグナルは、Qt::LinksAccessibleByMouse またはQt::LinksAccessibleByKeyboard を有効にするテキスト項目のリンクをユーザーがクリックしたときに発せられる。link はクリックされたリンク。

setTextInteractionFlags()も参照してください

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

このシグナルは、Qt::LinksAccessibleByMouse を有効にするテキスト・アイテムのリンクにユーザーがカーソルを合わせたときに発せられる。link は、カーソルを合わせたリンクである。

setTextInteractionFlags()も参照してください

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

再実装:QGraphicsItem::mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event)。

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

再実装:QGraphicsItem::mouseMoveEvent(QGraphicsSceneMouseEvent *event)。

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

再実装:QGraphicsItem::mousePressEvent(QGraphicsSceneMouseEvent *event)。

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

再実装:QGraphicsItem::mouseReleaseEvent(QGraphicsSceneMouseEvent *event)。

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

再実装:QGraphicsItem::opaqueArea() const.

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

再実装:QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)。

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

再実装:QGraphicsItem::sceneEvent(QEvent *event)。

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

書式なしテキストの色をcol に設定する。

defaultTextColor()も参照

void QGraphicsTextItem::setDocument(QTextDocument *document)

アイテムのテキスト文書document を設定します。

document()も参照してください

void QGraphicsTextItem::setFont(const QFont &font)

テキスト項目のレンダリングに使用するフォントをfont に設定します。

font()も参照

void QGraphicsTextItem::setHtml(const QString &text)

アイテムのテキストをtext に設定する。アイテムにキーボード入力フォーカスがある場合、この関数はensureVisible() も呼び出し、テキストがすべてのビューポートで表示されるようにします。

toHtml()、hasFocus()、QGraphicsSimpleTextItemも参照

void QGraphicsTextItem::setPlainText(const QString &text)

アイテムのテキストをtext に設定します。 アイテムにキーボード入力フォーカスがある場合、この関数はensureVisible() も呼び出して、テキストがすべてのビューポートで表示されるようにします。

toHtml() およびhasFocus()も参照して ください。

void QGraphicsTextItem::setTabChangesFocus(bool b)

b が真の場合、Tab キーでウィジェットのフォーカスが変更されます。そうでない場合、tab キーでドキュメントにタブが挿入されます。

そうでない場合、タブキーはドキュメントにタブを挿入します。テキスト編集では、フォーカスの連鎖を断ち切るため、Tab キーによるタブの入力やインデントの変更を許可すべきではない場合があります。デフォルトは false です。

tabChangesFocus()、ItemIsFocusabletextInteractionFlags()も参照してください

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

フラグflags を設定し、テキストアイテムがユーザー入力にどのように反応するかを指定します。

QGraphicsTextItem のデフォルトはQt::NoTextInteraction です。この関数は、ItemIsFocusableQGraphicsItem フラグにも影響し、flagsQt::NoTextInteraction と異なる場合は設定し、そうでない場合はクリアします。

デフォルトでは、テキストは読み取り専用です。アイテムをエディタに変換するには、Qt::TextEditable フラグを設定します。

textInteractionFlags()も参照してください

void QGraphicsTextItem::setTextWidth(qreal width)

アイテムのテキストの幅を設定します。実際のテキストの幅が指定された幅よりも広い場合、テキストは複数行に分割されます。

width を -1 に設定すると、明示的な改行や改段落を行わない限り、テキストは複数行に分割されません。

デフォルト値は-1です。

QGraphicsTextItem は内部的にQTextDocument を保持しており、これがテキスト幅の計算に使われることに注意。

textWidth() およびQTextDocument::setTextWidth()も参照

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

再実装:QGraphicsItem::shape() const.

bool QGraphicsTextItem::tabChangesFocus() const

Tab キーによってウィジェットのフォーカスが変更される場合はtrue を返し、そうでない場合は false を返す。

デフォルトでは、この動作は無効になっており、この関数はfalseを返します。

setTabChangesFocus()も参照してください

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

現在のテキスト対話フラグを返します。

setTextInteractionFlags()も参照

qreal QGraphicsTextItem::textWidth() const

テキストの幅を返す。

幅はQGraphicsTextItem が内部的に保持しているQTextDocument で計算される。

setTextWidth() およびQTextDocument::textWidth()も参照

QString QGraphicsTextItem::toHtml() const

アイテムのテキストを HTML に変換したもの、 あるいはテキストが設定されていない場合は空のQString を返します。

setHtml()も参照してください

QString QGraphicsTextItem::toPlainText() const

アイテムのテキストをプレーンテキストに変換して返すか、 テキストが設定されていない場合は空のQString を返します。

setPlainText()も参照してください

[override virtual] int QGraphicsTextItem::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.