---
name: "QwtText"
section: "3"
platform: "linux"
package: "libqwt-doc"
version: "6.1.4-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/QwtText"
---

# QwtText(3)

A class representing a text.

## NAME

QwtText - A class representing a text.

## SYNOPSIS

`#include <qwt_text.h>`

### Public Types

enum **TextFormat** { **AutoText** = 0, **PlainText**, **RichText**, **MathMLText**, **TeXText**, **OtherFormat** = 100 }\
 Text format.  enum **PaintAttribute** { **PaintUsingTextFont** = 0x01, **PaintUsingTextColor** = 0x02, **PaintBackground** = 0x04 }\
 Paint Attributes.  enum **LayoutAttribute** { **MinimumLayout** = 0x01 }\
 Layout Attributes The layout attributes affects some aspects of the layout of the text.  typedef QFlags\< **PaintAttribute** \> **PaintAttributes**\
 Paint attributes.  typedef QFlags\< **LayoutAttribute** \> **LayoutAttributes**\
 Layout attributes.

### Public Member Functions

**QwtText** (const QString &=QString(), **TextFormat** textFormat=**AutoText**)\
 **QwtText** (const **QwtText** &)\
 Copy constructor.  **~QwtText** ()\
 Destructor.  **QwtText** & **operator=** (const **QwtText** &)\
 Assignment operator.  bool **operator==** (const **QwtText** &) const\
 Relational operator.  bool **operator!=** (const **QwtText** &) const\
 Relational operator.  void **setText** (const QString &, **QwtText::TextFormat** textFormat=**AutoText**)\
 QString **text** () const\
 bool **isNull** () const\
 bool **isEmpty** () const\
 void **setFont** (const QFont &)\
 QFont **font** () const\
 Return the font.  QFont **usedFont** (const QFont &) const\
 void **setRenderFlags** (int)\
 Change the render flags.  int **renderFlags** () const\
 void **setColor** (const QColor &)\
 QColor **color** () const\
 Return the pen color, used for painting the text.  QColor **usedColor** (const QColor &) const\
 void **setBorderRadius** (double)\
 double **borderRadius** () const\
 void **setBorderPen** (const QPen &)\
 QPen **borderPen** () const\
 void **setBackgroundBrush** (const QBrush &)\
 QBrush **backgroundBrush** () const\
 void **setPaintAttribute** (**PaintAttribute**, bool on=true)\
 bool **testPaintAttribute** (**PaintAttribute**) const\
 void **setLayoutAttribute** (**LayoutAttribute**, bool on=true)\
 bool **testLayoutAttribute** (**LayoutAttribute**) const\
 double **heightForWidth** (double width, const QFont &=QFont()) const\
 QSizeF **textSize** (const QFont &=QFont()) const\
 void **draw** (QPainter \*painter, const QRectF &rect) const\

### Static Public Member Functions

static const **QwtTextEngine** \* **textEngine** (const QString &**text**, **QwtText::TextFormat**=**AutoText**)\
 static const **QwtTextEngine** \* **textEngine** (**QwtText::TextFormat**)\
 Find the text engine for a text format.  static void **setTextEngine** (**QwtText::TextFormat**, **QwtTextEngine** \*)\

## Detailed Description

A class representing a text.

A **QwtText** is a text including a set of attributes how to render it.

- •

  Format\
  \
    A text might include control sequences (f.e tags) describing how to render it. Each format (f.e MathML, TeX, Qt Rich Text) has its own set of control sequences, that can be handles by a special **QwtTextEngine** for this format.

- •

  Background\
  \
    A text might have a background, defined by a QPen and QBrush to improve its visibility. The corners of the background might be rounded.

- •

  Font\
  \
    A text might have an individual font.

- •

  Color\
  \
    A text might have an individual color.

- •

  Render Flags\
  \
    Flags from Qt::AlignmentFlag and Qt::TextFlag used like in QPainter::drawText().

**See also:**

**QwtTextEngine**, **QwtTextLabel**

## Member Enumeration Documentation

### enum QwtText::LayoutAttribute

Layout Attributes The layout attributes affects some aspects of the layout of the text.

**Enumerator**

- *MinimumLayout*

  *Layout the text without its margins. This mode is useful if a text needs to be aligned accurately, like the tick labels of a scale. If* **QwtTextEngine::textMargins** *is not implemented for the format of the text, MinimumLayout has no effect.*

### enum QwtText::PaintAttribute

*Paint Attributes. Font and color and background are optional attributes of a* **QwtText***. The paint attributes hold the information, if they are set.*

**Enumerator**

- *PaintUsingTextFont*

  *The text has an individual font.*

- *PaintUsingTextColor*

  *The text has an individual color.*

- *PaintBackground*

  *The text has an individual background.*

### enum QwtText::TextFormat

*Text format. The text format defines the* **QwtTextEngine***, that is used to render the text.*

**See also:**

**QwtTextEngine***,* **setTextEngine()**

**Enumerator**

- *AutoText*

  *The text format is determined using* **QwtTextEngine::mightRender()** *for all available text engines in increasing order \> PlainText. If none of the text engines can render the text is rendered like* **QwtText::PlainText***.*

- *PlainText*

  *Draw the text as it is, using a* **QwtPlainTextEngine***.*

- *RichText*

  *Use the Scribe framework (Qt Rich Text) to render the text.*

- *MathMLText*

  *Use a MathML (http://en.wikipedia.org/wiki/MathML) render engine to display the text. The Qwt MathML extension offers such an engine based on the MathML renderer of the former Qt solutions package. To enable MathML support the following code needs to be added to the application:*

```
QwtText::setTextEngine( QwtText::MathMLText, new QwtMathMLTextEngine() );
```

- *TeXText*

  *Use a TeX (http://en.wikipedia.org/wiki/TeX) render engine to display the text ( not implemented yet ).*

- *OtherFormat*

  *The number of text formats can be extended using setTextEngine. Formats \>=* **QwtText::OtherFormat** *are not used by Qwt.*

## Constructor & Destructor Documentation

### QwtText::QwtText (const QString & text = `QString()`, QwtText::TextFormat textFormat = AutoText)

*Constructor*

**Parameters:**

*text Text content* \
 *textFormat Text format*

## Member Function Documentation

### QBrush QwtText::backgroundBrush () const

**Returns:**

*Background brush*

**See also:**

**setBackgroundBrush()***,* **borderPen()**

### QPen QwtText::borderPen () const

**Returns:**

*Background pen*

**See also:**

**setBorderPen()***,* **backgroundBrush()**

### double QwtText::borderRadius () const

**Returns:**

*Radius for the corners of the border frame*

**See also:**

**setBorderRadius()***,* **borderPen()***,* **backgroundBrush()**

### void QwtText::draw (QPainter \* painter, const QRectF & rect) const

*Draw a text into a rectangle*

**Parameters:**

*painter Painter* \
 *rect Rectangle*

### double QwtText::heightForWidth (double width, const QFont & defaultFont = `QFont()`) const

*Find the height for a given width*

**Parameters:**

*defaultFont Font, used for the calculation if the text has no font* \
 *width Width*

**Returns:**

*Calculated height*

### bool QwtText::isEmpty () const` [inline]`

**Returns:**

**text()***.***isEmpty()**

### bool QwtText::isNull () const` [inline]`

**Returns:**

**text()***.***isNull()**

### int QwtText::renderFlags () const

**Returns:**

*Render flags*

**See also:**

**setRenderFlags()**

### void QwtText::setBackgroundBrush (const QBrush & brush)

*Set the background brush*

**Parameters:**

*brush Background brush*

**See also:**

**backgroundBrush()***,* **setBorderPen()**

### void QwtText::setBorderPen (const QPen & pen)

*Set the background pen*

**Parameters:**

*pen Background pen*

**See also:**

**borderPen()***,* **setBackgroundBrush()**

### void QwtText::setBorderRadius (double radius)

*Set the radius for the corners of the border frame*

**Parameters:**

*radius Radius of a rounded corner*

**See also:**

**borderRadius()***,* **setBorderPen()***,* **setBackgroundBrush()**

### void QwtText::setColor (const QColor & color)

*Set the pen color used for drawing the text.*

**Parameters:**

*color Color*

**Note:**

*Setting the color might have no effect, when the text contains control sequences for setting colors.*

### void QwtText::setFont (const QFont & font)

*Set the font.*

**Parameters:**

*font Font*

**Note:**

*Setting the font might have no effect, when the text contains control sequences for setting fonts.*

### void QwtText::setLayoutAttribute (LayoutAttribute attribute, bool on = `true`)

*Change a layout attribute*

**Parameters:**

*attribute Layout attribute* \
 *on On/Off*

**See also:**

**testLayoutAttribute()**

### void QwtText::setPaintAttribute (PaintAttribute attribute, bool on = `true`)

*Change a paint attribute*

**Parameters:**

*attribute Paint attribute* \
 *on On/Off*

**Note:**

*Used by* **setFont()***,* **setColor()***,* **setBorderPen()** *and* **setBackgroundBrush()**

**See also:**

**testPaintAttribute()**

### void QwtText::setRenderFlags (int renderFlags)

*Change the render flags. The default setting is Qt::AlignCenter*

**Parameters:**

*renderFlags Bitwise OR of the flags used like in QPainter::drawText()*

**See also:**

**renderFlags()***,* **QwtTextEngine::draw()**

**Note:**

*Some renderFlags might have no effect, depending on the text format.*

### void QwtText::setText (const QString & text, QwtText::TextFormat textFormat = AutoText)

*Assign a new text content*

**Parameters:**

*text Text content* \
 *textFormat Text format*

**See also:**

**text()**

### void QwtText::setTextEngine (QwtText::TextFormat format, QwtTextEngine \* engine)` [static]`

*Assign/Replace a text engine for a text format*

*With setTextEngine it is possible to extend Qwt with other types of text formats.*

*For* **QwtText::PlainText** *it is not allowed to assign a engine == NULL.*

**Parameters:**

*format Text format* \
 *engine Text engine*

**See also:**

**QwtMathMLTextEngine**

**Warning:**

*Using* **QwtText::AutoText** *does nothing.*

### bool QwtText::testLayoutAttribute (LayoutAttribute attribute) const

*Test a layout attribute*

**Parameters:**

*attribute Layout attribute*

**Returns:**

*true, if attribute is enabled*

**See also:**

**setLayoutAttribute()**

### bool QwtText::testPaintAttribute (PaintAttribute attribute) const

*Test a paint attribute*

**Parameters:**

*attribute Paint attribute*

**Returns:**

*true, if attribute is enabled*

**See also:**

**setPaintAttribute()**

### QString QwtText::text () const

**Returns:**

*Text as QString.*

**See also:**

**setText()**

### const QwtTextEngine \* QwtText::textEngine (const QString & text, QwtText::TextFormat format = AutoText)` [static]`

*Find the text engine for a text format*

*In case of* **QwtText::AutoText** *the first text engine (beside* **QwtPlainTextEngine***) is returned, where* **QwtTextEngine::mightRender** *returns true. If there is none* **QwtPlainTextEngine** *is returned.*

*If no text engine is registered for the format* **QwtPlainTextEngine** *is returnd.*

**Parameters:**

*text Text, needed in case of AutoText* \
 *format Text format*

**Returns:**

*Corresponding text engine*

### const QwtTextEngine \* QwtText::textEngine (QwtText::TextFormat format)` [static]`

*Find the text engine for a text format. textEngine can be used to find out if a text format is supported.*

**Parameters:**

*format Text format*

**Returns:**

*The text engine, or NULL if no engine is available.*

### QSizeF QwtText::textSize (const QFont & defaultFont = `QFont()`) const

*Returns the size, that is needed to render text*

**Parameters:**

*defaultFont Font of the text*

**Returns:**

*Calculated size*

### QColor QwtText::usedColor (const QColor & defaultColor) const

*Return the color of the text, if it has one. Otherwise return defaultColor.*

**Parameters:**

*defaultColor Default color*

**Returns:**

*Color used for drawing the text*

**See also:**

**setColor()***,* **color()***,* **PaintAttributes**

### QFont QwtText::usedFont (const QFont & defaultFont) const

*Return the font of the text, if it has one. Otherwise return defaultFont.*

**Parameters:**

*defaultFont Default font*

**Returns:**

*Font used for drawing the text*

**See also:**

**setFont()***,* **font()***,* **PaintAttributes**

## Author

*Generated automatically by Doxygen for Qwt User's Guide from the source code.*
