QWT API (English) 7.3.0
Qt Widget Library for Technical Applications - English API Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
QwtText Class Reference

A class representing a text. More...

#include <qwt_text.h>

Classes

class  LayoutCache
 
class  PrivateData
 

Public Types

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

Public Member Functions

 QwtText ()
 Default constructor.
 
 QwtText (const QString &, TextFormat textFormat=AutoText)
 
 QwtText (const QwtText &)
 
 QwtText (QwtText &&) noexcept
 
 ~QwtText ()
 Destructor.
 
QwtTextoperator= (const QwtText &)
 Assignment operator.
 
QwtTextoperator= (QwtText &&) noexcept
 Move assignment operator.
 
bool operator== (const QwtText &) const
 Equality operator.
 
bool operator!= (const QwtText &) const
 Inequality operator.
 
void setText (const QString &, QwtText::TextFormat textFormat=AutoText)
 Assign a new text content.
 
QString text () const
 Get text as QString.
 
bool isNull () const
 Check if text is null.
 
bool isEmpty () const
 Check if text is empty.
 
void setFont (const QFont &)
 Set the font.
 
QFont font () const
 Get the font.
 
QFont usedFont (const QFont &) const
 Return the font of the text, if it has one, otherwise return defaultFont.
 
TextFormat format () const
 Return the format of the text.
 
void setRenderFlags (int)
 Change the render flags.
 
int renderFlags () const
 Get render flags.
 
void setColor (const QColor &)
 Set the pen color used for drawing the text.
 
QColor color () const
 Get the pen color used for painting the text.
 
QColor usedColor (const QColor &) const
 Return the color of the text, if it has one, otherwise return defaultColor.
 
void setBorderRadius (double)
 Set the radius for the corners of the border frame.
 
double borderRadius () const
 Get the radius for the corners of the border frame.
 
void setBorderPen (const QPen &)
 Set the background pen (border pen)
 
QPen borderPen () const
 Get the background pen (border pen)
 
void setBackgroundBrush (const QBrush &)
 Set the background brush.
 
QBrush backgroundBrush () const
 Get the background brush.
 
void setPaintAttribute (PaintAttribute, bool on=true)
 Change a paint attribute.
 
bool testPaintAttribute (PaintAttribute) const
 Test a paint attribute.
 
void setLayoutAttribute (LayoutAttribute, bool on=true)
 Change a layout attribute.
 
bool testLayoutAttribute (LayoutAttribute) const
 Test a layout attribute.
 
double heightForWidth (double width) const
 Find the height for a given width.
 
double heightForWidth (double width, const QFont &) const
 Find the height for a given width.
 
QSizeF textSize () const
 Returns the size that is needed to render text.
 
QSizeF textSize (const QFont &) const
 Returns the size that is needed to render text.
 
void draw (QPainter *painter, const QRectF &rect) const
 Draw a text into a rectangle.
 

Static Public Member Functions

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

Detailed Description

A class representing a text.

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

See also
QwtTextEngine, QwtTextLabel

Member Enumeration Documentation

◆ 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.

◆ 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.

◆ 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. In earlier versions of Qwt such an engine was included - since Qwt 6.2 it can be found here: https://github.com/uwerat/qwt-mml-dev

To enable MathML support the following code needs to be added to the application:

QwtText::setTextEngine( QwtText::MathMLText, new QwtMathMLTextEngine() );
@ MathMLText
Definition qwt_text.h:110
static void setTextEngine(QwtText::TextFormat, QwtTextEngine *)
Assign/Replace a text engine for a text format.
Definition qwt_text.cpp:787
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::QwtText ( )

Default constructor.

Constructor

Parameters
textText content
textFormatText format

Copy constructor

Parameters
otherOther QwtText to copy from

Move constructor

Parameters
otherOther QwtText to move from

Member Function Documentation

◆ backgroundBrush()

QBrush QwtText::backgroundBrush ( ) const

Get the background brush.

Returns
Background brush
See also
setBackgroundBrush(), borderPen()

◆ borderPen()

QPen QwtText::borderPen ( ) const

Get the background pen (border pen)

Returns
Background pen
See also
setBorderPen(), backgroundBrush()

◆ borderRadius()

double QwtText::borderRadius ( ) const

Get the radius for the corners of the border frame.

Returns
Radius for the corners of the border frame
See also
setBorderRadius(), borderPen(), backgroundBrush()

◆ color()

QColor QwtText::color ( ) const

Get the pen color used for painting the text.

Returns
Current color
See also
setColor(), usedColor()

◆ draw()

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

Draw a text into a rectangle.

Parameters
painterPainter
rectRectangle to draw text into
See also
textSize()

◆ font()

QFont QwtText::font ( ) const

Get the font.

Returns
Current font
See also
setFont(), usedFont()

◆ format()

QwtText::TextFormat QwtText::format ( ) const

Return the format of the text.

Returns
The format of the text
Note
This function was introduced in QWT7.0

◆ heightForWidth() [1/2]

double QwtText::heightForWidth ( double  width) const

Find the height for a given width.

Parameters
widthWidth
Returns
Calculated height
See also
heightForWidth(double, const QFont&)

◆ heightForWidth() [2/2]

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

Find the height for a given width.

Parameters
widthWidth
defaultFontFont used for the calculation if the text has no font
Returns
Calculated height
See also
heightForWidth(double)

◆ isEmpty()

bool QwtText::isEmpty ( ) const

Check if text is empty.

Returns
text().isEmpty()

◆ isNull()

bool QwtText::isNull ( ) const

Check if text is null.

Returns
text().isNull()

◆ operator!=()

bool QwtText::operator!= ( const QwtText other) const

Inequality operator.

Parameters
otherOther QwtText to compare with
Returns
true if not equal

◆ operator=() [1/2]

QwtText & QwtText::operator= ( const QwtText other)

Assignment operator.

Parameters
otherOther QwtText to assign from
Returns
Reference to this QwtText

◆ operator=() [2/2]

QwtText & QwtText::operator= ( QwtText &&  other)
noexcept

Move assignment operator.

Parameters
otherOther QwtText to move from
Returns
Reference to this QwtText

◆ operator==()

bool QwtText::operator== ( const QwtText other) const

Equality operator.

Parameters
otherOther QwtText to compare with
Returns
true if equal

◆ renderFlags()

int QwtText::renderFlags ( ) const

Get render flags.

Returns
Render flags
See also
setRenderFlags()

◆ setBackgroundBrush()

void QwtText::setBackgroundBrush ( const QBrush &  brush)

Set the background brush.

Parameters
brushBackground brush
See also
backgroundBrush(), setBorderPen()

◆ setBorderPen()

void QwtText::setBorderPen ( const QPen &  pen)

Set the background pen (border pen)

Parameters
penBackground pen
See also
borderPen(), setBackgroundBrush()

◆ setBorderRadius()

void QwtText::setBorderRadius ( double  radius)

Set the radius for the corners of the border frame.

Parameters
radiusRadius of a rounded corner
See also
borderRadius(), setBorderPen(), setBackgroundBrush()

◆ setColor()

void QwtText::setColor ( const QColor &  color)

Set the pen color used for drawing the text.

Parameters
colorColor to set
Note
Setting the color might have no effect, when the text contains control sequences for setting colors.
See also
color(), usedColor()

◆ setFont()

void QwtText::setFont ( const QFont &  font)

Set the font.

Parameters
fontFont to set
Note
Setting the font might have no effect, when the text contains control sequences for setting fonts.
See also
font(), usedFont()

◆ setLayoutAttribute()

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

Change a layout attribute.

Parameters
attributeLayout attribute to change
onOn/Off
See also
testLayoutAttribute()

◆ setPaintAttribute()

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

Change a paint attribute.

Parameters
attributePaint attribute to change
onOn/Off
Note
Used by setFont(), setColor(), setBorderPen() and setBackgroundBrush()
See also
testPaintAttribute()

◆ setRenderFlags()

void QwtText::setRenderFlags ( int  renderFlags)

Change the render flags.

The default setting is Qt::AlignCenter

Parameters
renderFlagsBitwise 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.

◆ setText()

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

Assign a new text content.

Parameters
textText content
textFormatText format
See also
text()

◆ setTextEngine()

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 == nullptr.

Parameters
formatText format
engineText engine
Warning
Using QwtText::AutoText does nothing.
See also
textEngine(QwtText::TextFormat)

◆ testLayoutAttribute()

bool QwtText::testLayoutAttribute ( LayoutAttribute  attribute) const

Test a layout attribute.

Parameters
attributeLayout attribute to test
Returns
true, if attribute is enabled
See also
setLayoutAttribute()

◆ testPaintAttribute()

bool QwtText::testPaintAttribute ( PaintAttribute  attribute) const

Test a paint attribute.

Parameters
attributePaint attribute to test
Returns
true, if attribute is enabled
See also
setPaintAttribute()

◆ text()

QString QwtText::text ( ) const

Get text as QString.

Returns
Text as QString
See also
setText()

◆ textEngine() [1/2]

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 returned.

Parameters
textText, needed in case of AutoText
formatText format
Returns
Corresponding text engine
See also
textEngine(QwtText::TextFormat)

◆ textEngine() [2/2]

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
formatText format
Returns
The text engine, or nullptr if no engine is available.
See also
textEngine(const QString&, QwtText::TextFormat)

◆ textSize() [1/2]

QSizeF QwtText::textSize ( ) const

Returns the size that is needed to render text.

Returns
Calculated size
See also
textSize(const QFont&)

◆ textSize() [2/2]

QSizeF QwtText::textSize ( const QFont &  defaultFont) const

Returns the size that is needed to render text.

Parameters
defaultFontFont of the text
Returns
Calculated size
See also
textSize()

◆ usedColor()

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

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

Parameters
defaultColorDefault color to use if text has no color
Returns
Color used for drawing the text
See also
setColor(), color(), PaintAttributes

◆ usedFont()

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

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

Parameters
defaultFontDefault font to use if text has no font
Returns
Font used for drawing the text
See also
setFont(), font(), PaintAttributes

The documentation for this class was generated from the following files: