QGraphicsTextItem Class

The QGraphicsTextItem class provides a text item that you can add to a QGraphicsScene to display formatted text. 更多...

头文件: #include <QGraphicsTextItem>
qmake: QT += widgets
开始支持版本: Qt 4.2
基类: QGraphicsObject

属性

公有函数

QGraphicsTextItem(QGraphicsItem *parent = Q_NULLPTR)
QGraphicsTextItem(const QString &text, QGraphicsItem *parent = Q_NULLPTR)
~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
virtual bool contains(const QPointF &point) const
virtual bool isObscuredBy(const QGraphicsItem *item) const
virtual QPainterPath opaqueArea() const
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
virtual QPainterPath shape() const
virtual int type() const

信号

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

重新实现的受保护函数

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

其他继承的成员

详细描述

The QGraphicsTextItem class provides a text item that you can add to a QGraphicsScene to display formatted text.

If you only need to show plain text in an item, consider using QGraphicsSimpleTextItem instead.

To set the item's text, pass a QString to QGraphicsTextItem's constructor, or call setHtml()/setPlainText().

QGraphicsTextItem uses the text's formatted size and the associated font to provide a reasonable implementation of boundingRect(), shape(), and contains(). You can set the font by calling setFont().

It is possible to make the item editable by setting the Qt::TextEditorInteraction flag using setTextInteractionFlags().

The item's preferred text width can be set using setTextWidth() and obtained using textWidth().

Note: In order to align HTML text in the center, the item's text width must be set. Otherwise, you can call adjustSize() after setting the item's text.

Note: QGraphicsTextItem accepts hover events by default. You can change this with setAcceptHoverEvents().

参见 QGraphicsSimpleTextItem, QGraphicsPathItem, QGraphicsRectItem, QGraphicsEllipseItem, QGraphicsPixmapItem, QGraphicsPolygonItem, QGraphicsLineItem, and Graphics View Framework.

属性

Specifies whether QGraphicsTextItem should automatically open links using QDesktopServices::openUrl() instead of emitting the linkActivated signal.

The default value is false.

访问函数:

bool openExternalLinks() const
void setOpenExternalLinks(bool open)

textCursor : QTextCursor

This property represents the visible text cursor in an editable text item.

By default, if the item's text has not been set, this property contains a null text cursor; otherwise it contains a text cursor placed at the start of the item's document.

访问函数:

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

成员函数

QGraphicsTextItem::QGraphicsTextItem(QGraphicsItem *parent = Q_NULLPTR)

Constructs a QGraphicsTextItem. parent is passed to QGraphicsItem's constructor.

参见 QGraphicsScene::addItem().

QGraphicsTextItem::QGraphicsTextItem(const QString &text, QGraphicsItem *parent = Q_NULLPTR)

Constructs a QGraphicsTextItem, using text as the default plain text. parent is passed to QGraphicsItem's constructor.

参见 QGraphicsScene::addItem().

QGraphicsTextItem::~QGraphicsTextItem()

Destroys the QGraphicsTextItem.

void QGraphicsTextItem::adjustSize()

Adjusts the text item to a reasonable size.

[virtual] QRectF QGraphicsTextItem::boundingRect() const

重新实现 QGraphicsItem::boundingRect().

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

重新实现 QGraphicsItem::contains().

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

重新实现 QGraphicsItem::contextMenuEvent().

QColor QGraphicsTextItem::defaultTextColor() const

Returns the default text color that is used for unformatted text.

参见 setDefaultTextColor().

QTextDocument *QGraphicsTextItem::document() const

Returns the item's text document.

参见 setDocument().

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

重新实现 QGraphicsItem::dragEnterEvent().

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

重新实现 QGraphicsItem::dragLeaveEvent().

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

重新实现 QGraphicsItem::dragMoveEvent().

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

重新实现 QGraphicsItem::dropEvent().

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

重新实现 QGraphicsItem::focusInEvent().

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

重新实现 QGraphicsItem::focusOutEvent().

QFont QGraphicsTextItem::font() const

Returns the item's font, which is used to render the text.

参见 setFont().

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

重新实现 QGraphicsItem::hoverEnterEvent().

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

重新实现 QGraphicsItem::hoverLeaveEvent().

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

重新实现 QGraphicsItem::hoverMoveEvent().

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

重新实现 QGraphicsItem::inputMethodEvent().

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

重新实现 QGraphicsItem::inputMethodQuery().

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

重新实现 QGraphicsItem::isObscuredBy().

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

重新实现 QGraphicsItem::keyPressEvent().

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

重新实现 QGraphicsItem::keyReleaseEvent().

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

This signal is emitted when the user clicks on a link on a text item that enables Qt::LinksAccessibleByMouse or Qt::LinksAccessibleByKeyboard. link is the link that was clicked.

参见 setTextInteractionFlags().

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

This signal is emitted when the user hovers over a link on a text item that enables Qt::LinksAccessibleByMouse. link is the link that was hovered over.

参见 setTextInteractionFlags().

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

重新实现 QGraphicsItem::mouseDoubleClickEvent().

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

重新实现 QGraphicsItem::mouseMoveEvent().

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

重新实现 QGraphicsItem::mousePressEvent().

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

重新实现 QGraphicsItem::mouseReleaseEvent().

[virtual] QPainterPath QGraphicsTextItem::opaqueArea() const

重新实现 QGraphicsItem::opaqueArea().

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

重新实现 QGraphicsItem::paint().

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

重新实现 QGraphicsItem::sceneEvent().

void QGraphicsTextItem::setDefaultTextColor(const QColor &col)

Sets the color for unformatted text to col.

参见 defaultTextColor().

void QGraphicsTextItem::setDocument(QTextDocument *document)

Sets the text document document on the item.

参见 document().

void QGraphicsTextItem::setFont(const QFont &font)

Sets the font used to render the text item to font.

参见 font().

void QGraphicsTextItem::setHtml(const QString &text)

Sets the item's text to text, assuming that text is HTML formatted. If the item has keyboard input focus, this function will also call ensureVisible() to ensure that the text is visible in all viewports.

参见 toHtml(), hasFocus(), and QGraphicsSimpleTextItem.

void QGraphicsTextItem::setPlainText(const QString &text)

Sets the item's text to text. If the item has keyboard input focus, this function will also call ensureVisible() to ensure that the text is visible in all viewports.

参见 toHtml() and hasFocus().

void QGraphicsTextItem::setTabChangesFocus(bool b)

If b is true, the Tab key will cause the widget to change focus; otherwise, the tab key will insert a tab into the document.

In some occasions text edits should not allow the user to input tabulators or change indentation using the Tab key, as this breaks the focus chain. The default is false.

This function was introduced in Qt 4.5.

参见 tabChangesFocus(), ItemIsFocusable, and textInteractionFlags().

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

Sets the flags flags to specify how the text item should react to user input.

The default for a QGraphicsTextItem is Qt::NoTextInteraction. This function also affects the ItemIsFocusable QGraphicsItem flag by setting it if flags is different from Qt::NoTextInteraction and clearing it otherwise.

By default, the text is read-only. To transform the item into an editor, set the Qt::TextEditable flag.

参见 textInteractionFlags().

void QGraphicsTextItem::setTextWidth(qreal width)

Sets the preferred width for the item's text. If the actual text is wider than the specified width then it will be broken into multiple lines.

If width is set to -1 then the text will not be broken into multiple lines unless it is enforced through an explicit line break or a new paragraph.

The default value is -1.

Note that QGraphicsTextItem keeps a QTextDocument internally, which is used to calculate the text width.

参见 textWidth() and QTextDocument::setTextWidth().

[virtual] QPainterPath QGraphicsTextItem::shape() const

重新实现 QGraphicsItem::shape().

bool QGraphicsTextItem::tabChangesFocus() const

Returns true if the Tab key will cause the widget to change focus; otherwise, false is returned.

By default, this behavior is disabled, and this function will return false.

This function was introduced in Qt 4.5.

参见 setTabChangesFocus().

Qt::TextInteractionFlags QGraphicsTextItem::textInteractionFlags() const

Returns the current text interaction flags.

参见 setTextInteractionFlags().

qreal QGraphicsTextItem::textWidth() const

Returns the text width.

The width is calculated with the QTextDocument that QGraphicsTextItem keeps internally.

参见 setTextWidth() and QTextDocument::textWidth().

QString QGraphicsTextItem::toHtml() const

Returns the item's text converted to HTML, or an empty QString if no text has been set.

参见 setHtml().

QString QGraphicsTextItem::toPlainText() const

Returns the item's text converted to plain text, or an empty QString if no text has been set.

参见 setPlainText().

[virtual] int QGraphicsTextItem::type() const

重新实现 QGraphicsItem::type().