QGIS API Documentation  3.17.0-Master (df2c9ff931)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsTextFormat Class Reference

Container for all settings relating to text rendering. More...

#include <qgstextformat.h>

Public Types

enum  TextOrientation { HorizontalOrientation, VerticalOrientation, RotationBasedOrientation }
 Text orientation. More...
 

Public Member Functions

 QgsTextFormat ()
 Default constructor for QgsTextFormat. More...
 
 QgsTextFormat (const QgsTextFormat &other)
 Copy constructor. More...
 
 ~QgsTextFormat ()
 
bool allowHtmlFormatting () const
 Returns true if text should be treated as a HTML document and HTML tags should be used for formatting the rendered text. More...
 
QgsTextBackgroundSettingsbackground ()
 Returns a reference to the text background settings. More...
 
QgsTextBackgroundSettings background () const
 Returns a reference to the text background settings. More...
 
QPainter::CompositionMode blendMode () const
 Returns the blending mode used for drawing the text. More...
 
QgsTextBufferSettingsbuffer ()
 Returns a reference to the text buffer settings. More...
 
QgsTextBufferSettings buffer () const
 Returns a reference to the text buffer settings. More...
 
QgsStringUtils::Capitalization capitalization () const
 Returns the text capitalization style. More...
 
QColor color () const
 Returns the color that text will be rendered in. More...
 
bool containsAdvancedEffects () const
 Returns true if any component of the font format requires advanced effects such as blend modes, which require output in raster formats to be fully respected. More...
 
QgsPropertyCollectiondataDefinedProperties ()
 Returns a reference to the format's property collection, used for data defined overrides. More...
 
const QgsPropertyCollectiondataDefinedProperties () const
 Returns a reference to the format's property collection, used for data defined overrides. More...
 
QFont font () const
 Returns the font used for rendering text. More...
 
bool fontFound () const
 Returns true if the specified font was found on the system, or false if the font was not found and a replacement was used instead. More...
 
bool isValid () const
 Returns true if the format is valid. More...
 
double lineHeight () const
 Returns the line height for text. More...
 
QgsTextMaskSettingsmask ()
 Returns a reference to the masking settings. More...
 
QgsTextMaskSettings mask () const
 Returns a reference to the masking settings. More...
 
QString namedStyle () const
 Returns the named style for the font used for rendering text (e.g., "bold"). More...
 
double opacity () const
 Returns the text's opacity. More...
 
bool operator!= (const QgsTextFormat &other) const
 
QgsTextFormatoperator= (const QgsTextFormat &other)
 
bool operator== (const QgsTextFormat &other) const
 
TextOrientation orientation () const
 Returns the orientation of the text. More...
 
QColor previewBackgroundColor () const
 Returns the background color for text previews. More...
 
void readFromLayer (QgsVectorLayer *layer)
 Reads settings from a layer's custom properties (for QGIS 2.x projects). More...
 
void readXml (const QDomElement &elem, const QgsReadWriteContext &context)
 Read settings from a DOM element. More...
 
QSet< QString > referencedFields (const QgsRenderContext &context) const
 Returns all field names referenced by the configuration (e.g. More...
 
QString resolvedFontFamily () const
 Returns the family for the resolved font, ie if the specified font was not found on the system this will return the name of the replacement font. More...
 
QFont scaledFont (const QgsRenderContext &context, double scaleFactor=1.0) const
 Returns a font with the size scaled to match the format's size settings (including units and map unit scale) for a specified render context. More...
 
void setAllowHtmlFormatting (bool allow)
 Sets whether text should be treated as a HTML document and HTML tags should be used for formatting the rendered text. More...
 
void setBackground (const QgsTextBackgroundSettings &backgroundSettings)
 Sets the text's background settings.q. More...
 
void setBlendMode (QPainter::CompositionMode mode)
 Sets the blending mode used for drawing the text. More...
 
void setBuffer (const QgsTextBufferSettings &bufferSettings)
 Sets the text's buffer settings. More...
 
void setCapitalization (QgsStringUtils::Capitalization capitalization)
 Sets the text capitalization style. More...
 
void setColor (const QColor &color)
 Sets the color that text will be rendered in. More...
 
void setDataDefinedProperties (const QgsPropertyCollection &collection)
 Sets the format's property collection, used for data defined overrides. More...
 
void setFont (const QFont &font)
 Sets the font used for rendering text. More...
 
void setLineHeight (double height)
 Sets the line height for text. More...
 
void setMask (const QgsTextMaskSettings &maskSettings)
 Sets the text's masking settings. More...
 
void setNamedStyle (const QString &style)
 Sets the named style for the font used for rendering text. More...
 
void setOpacity (double opacity)
 Sets the text's opacity. More...
 
void setOrientation (TextOrientation orientation)
 Sets the orientation for the text. More...
 
void setPreviewBackgroundColor (const QColor &color)
 Sets the background color that text will be rendered on for previews. More...
 
void setShadow (const QgsTextShadowSettings &shadowSettings)
 Sets the text's drop shadow settings. More...
 
void setSize (double size)
 Sets the size for rendered text. More...
 
void setSizeMapUnitScale (const QgsMapUnitScale &scale)
 Sets the map unit scale object for the size. More...
 
void setSizeUnit (QgsUnitTypes::RenderUnit unit)
 Sets the units for the size of rendered text. More...
 
void setValid ()
 Sets the format to a valid state, without changing any of the default format settings. More...
 
QgsTextShadowSettingsshadow ()
 Returns a reference to the text drop shadow settings. More...
 
QgsTextShadowSettings shadow () const
 Returns a reference to the text drop shadow settings. More...
 
double size () const
 Returns the size for rendered text. More...
 
QgsMapUnitScale sizeMapUnitScale () const
 Returns the map unit scale object for the size. More...
 
QgsUnitTypes::RenderUnit sizeUnit () const
 Returns the units for the size of rendered text. More...
 
QMimeData * toMimeData () const
 Returns new mime data representing the text format settings. More...
 
QFont toQFont () const
 Returns a QFont matching the relevant settings from this text format. More...
 
void updateDataDefinedProperties (QgsRenderContext &context)
 Updates the format by evaluating current values of data defined properties. More...
 
QDomElement writeXml (QDomDocument &doc, const QgsReadWriteContext &context) const
 Write settings into a DOM element. More...
 

Static Public Member Functions

static QgsTextFormat fromMimeData (const QMimeData *data, bool *ok=nullptr)
 Attempts to parse the provided mime data as a QgsTextFormat. More...
 
static QgsTextFormat fromQFont (const QFont &font)
 Returns a text format matching the settings from an input font. More...
 
static QPixmap textFormatPreviewPixmap (const QgsTextFormat &format, QSize size, const QString &previewText=QString(), int padding=0)
 Returns a pixmap preview for a text format. More...
 

Detailed Description

Container for all settings relating to text rendering.

Note
QgsTextFormat objects are implicitly shared.
Since
QGIS 3.0

Definition at line 39 of file qgstextformat.h.

Member Enumeration Documentation

◆ TextOrientation

Text orientation.

Enumerator
HorizontalOrientation 

Vertically oriented text.

VerticalOrientation 

Horizontally oriented text.

RotationBasedOrientation 

Horizontally or vertically oriented text based on rotation (only available for map labeling)

Definition at line 44 of file qgstextformat.h.

Constructor & Destructor Documentation

◆ QgsTextFormat() [1/2]

QgsTextFormat::QgsTextFormat ( )

Default constructor for QgsTextFormat.

Creates a text format initially set to an invalid state (see isValid()).

Definition at line 28 of file qgstextformat.cpp.

◆ QgsTextFormat() [2/2]

QgsTextFormat::QgsTextFormat ( const QgsTextFormat other)

Copy constructor.

Parameters
othersource QgsTextFormat

Definition at line 33 of file qgstextformat.cpp.

◆ ~QgsTextFormat()

QgsTextFormat::~QgsTextFormat ( )

Definition at line 57 of file qgstextformat.cpp.

Member Function Documentation

◆ allowHtmlFormatting()

bool QgsTextFormat::allowHtmlFormatting ( ) const

Returns true if text should be treated as a HTML document and HTML tags should be used for formatting the rendered text.

Warning
Only a small subset of HTML formatting is supported. Currently this is restricted to:
  • text color formatting
  • strikethrough
  • underline
  • overline
See also
setAllowHtmlFormatting()
Since
QGIS 3.14

Definition at line 300 of file qgstextformat.cpp.

◆ background() [1/2]

QgsTextBackgroundSettings & QgsTextFormat::background ( )

Returns a reference to the text background settings.

See also
setBackground()

Definition at line 115 of file qgstextformat.cpp.

◆ background() [2/2]

QgsTextBackgroundSettings QgsTextFormat::background ( ) const
inline

Returns a reference to the text background settings.

See also
setBackground()

Definition at line 121 of file qgstextformat.h.

◆ blendMode()

QPainter::CompositionMode QgsTextFormat::blendMode ( ) const

Returns the blending mode used for drawing the text.

See also
setBlendMode()

Definition at line 254 of file qgstextformat.cpp.

◆ buffer() [1/2]

QgsTextBufferSettings & QgsTextFormat::buffer ( )

Returns a reference to the text buffer settings.

See also
setBuffer()

Definition at line 103 of file qgstextformat.cpp.

◆ buffer() [2/2]

QgsTextBufferSettings QgsTextFormat::buffer ( ) const
inline

Returns a reference to the text buffer settings.

See also
setBuffer()

Definition at line 102 of file qgstextformat.h.

◆ capitalization()

QgsStringUtils::Capitalization QgsTextFormat::capitalization ( ) const

Returns the text capitalization style.

See also
setCapitalization()
Since
QGIS 3.16

Definition at line 287 of file qgstextformat.cpp.

◆ color()

QColor QgsTextFormat::color ( ) const

Returns the color that text will be rendered in.

See also
setColor()

Definition at line 232 of file qgstextformat.cpp.

◆ containsAdvancedEffects()

bool QgsTextFormat::containsAdvancedEffects ( ) const

Returns true if any component of the font format requires advanced effects such as blend modes, which require output in raster formats to be fully respected.

Definition at line 684 of file qgstextformat.cpp.

◆ dataDefinedProperties() [1/2]

QgsPropertyCollection & QgsTextFormat::dataDefinedProperties ( )

Returns a reference to the format's property collection, used for data defined overrides.

See also
setDataDefinedProperties()
Since
QGIS 3.10

Definition at line 701 of file qgstextformat.cpp.

◆ dataDefinedProperties() [2/2]

const QgsPropertyCollection & QgsTextFormat::dataDefinedProperties ( ) const

Returns a reference to the format's property collection, used for data defined overrides.

See also
setDataDefinedProperties()
Note
not available in Python bindings
Since
QGIS 3.10

Definition at line 707 of file qgstextformat.cpp.

◆ font()

QFont QgsTextFormat::font ( ) const

Returns the font used for rendering text.

Note that the size of the font is not used, and size() should be called instead to determine the size of rendered text.

See also
scaledFont()
setFont()
namedStyle()
toQFont()

Definition at line 151 of file qgstextformat.cpp.

◆ fontFound()

bool QgsTextFormat::fontFound ( ) const
inline

Returns true if the specified font was found on the system, or false if the font was not found and a replacement was used instead.

See also
resolvedFontFamily()

Definition at line 466 of file qgstextformat.h.

◆ fromMimeData()

QgsTextFormat QgsTextFormat::fromMimeData ( const QMimeData *  data,
bool *  ok = nullptr 
)
static

Attempts to parse the provided mime data as a QgsTextFormat.

If data can be parsed as a text format, ok will be set to true.

See also
toMimeData()

Definition at line 656 of file qgstextformat.cpp.

◆ fromQFont()

QgsTextFormat QgsTextFormat::fromQFont ( const QFont &  font)
static

Returns a text format matching the settings from an input font.

Unlike setFont(), this method also handles the size and size units from font.

See also
toQFont()
Since
QGIS 3.2

Definition at line 607 of file qgstextformat.cpp.

◆ isValid()

bool QgsTextFormat::isValid ( ) const

Returns true if the format is valid.

A default constructed QgsTextFormat is invalid, until at least one or more properties have been set on the format. An invalid state can be used as a representation of a "not set" text format, e.g. for indicating that a default text format should be used.

Note
Calling any setter on a QgsTextFormat object will automatically set the format as valid.
See also
setValid()
Since
QGIS 3.16

Definition at line 93 of file qgstextformat.cpp.

◆ lineHeight()

double QgsTextFormat::lineHeight ( ) const

Returns the line height for text.

This is a number between 0.0 and 10.0 representing the leading between lines as a multiplier of line height.

See also
setLineHeight()

Definition at line 265 of file qgstextformat.cpp.

◆ mask() [1/2]

QgsTextMaskSettings & QgsTextFormat::mask ( )

Returns a reference to the masking settings.

See also
setMask()

Definition at line 139 of file qgstextformat.cpp.

◆ mask() [2/2]

QgsTextMaskSettings QgsTextFormat::mask ( ) const
inline

Returns a reference to the masking settings.

Masks may be defined in contexts where the text is rendered over some map layers, for labeling especially.

See also
setMask()
Since
QGIS 3.12

Definition at line 161 of file qgstextformat.h.

◆ namedStyle()

QString QgsTextFormat::namedStyle ( ) const

Returns the named style for the font used for rendering text (e.g., "bold").

See also
setNamedStyle()
font()

Definition at line 183 of file qgstextformat.cpp.

◆ opacity()

double QgsTextFormat::opacity ( ) const

Returns the text's opacity.

The opacity is a double value between 0 (fully transparent) and 1 (totally opaque).

See also
setOpacity()

Definition at line 243 of file qgstextformat.cpp.

◆ operator!=()

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

Definition at line 88 of file qgstextformat.cpp.

◆ operator=()

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

Definition at line 45 of file qgstextformat.cpp.

◆ operator==()

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

Definition at line 62 of file qgstextformat.cpp.

◆ orientation()

QgsTextFormat::TextOrientation QgsTextFormat::orientation ( ) const

Returns the orientation of the text.

See also
setOrientation()
Since
QGIS 3.10

Definition at line 276 of file qgstextformat.cpp.

◆ previewBackgroundColor()

QColor QgsTextFormat::previewBackgroundColor ( ) const

Returns the background color for text previews.

See also
setPreviewBackgroundColor()
Since
QGIS 3.10

Definition at line 311 of file qgstextformat.cpp.

◆ readFromLayer()

void QgsTextFormat::readFromLayer ( QgsVectorLayer layer)

Reads settings from a layer's custom properties (for QGIS 2.x projects).

Parameters
layersource vector layer

Definition at line 322 of file qgstextformat.cpp.

◆ readXml()

void QgsTextFormat::readXml ( const QDomElement &  elem,
const QgsReadWriteContext context 
)

Read settings from a DOM element.

See also
writeXml()

Definition at line 406 of file qgstextformat.cpp.

◆ referencedFields()

QSet< QString > QgsTextFormat::referencedFields ( const QgsRenderContext context) const

Returns all field names referenced by the configuration (e.g.

from data defined properties).

Since
QGIS 3.14

Definition at line 712 of file qgstextformat.cpp.

◆ resolvedFontFamily()

QString QgsTextFormat::resolvedFontFamily ( ) const
inline

Returns the family for the resolved font, ie if the specified font was not found on the system this will return the name of the replacement font.

See also
fontFound()

Definition at line 474 of file qgstextformat.h.

◆ scaledFont()

QFont QgsTextFormat::scaledFont ( const QgsRenderContext context,
double  scaleFactor = 1.0 
) const

Returns a font with the size scaled to match the format's size settings (including units and map unit scale) for a specified render context.

Parameters
contextdestination render context
scaleFactoroptional font size scaling factor. It is recommended to set this to QgsTextRenderer::FONT_WORKAROUND_SCALE and then manually scale painter devices or calculations based on the resultant font metrics. Failure to do so will result in poor quality text rendering at small font sizes.
Returns
font with scaled size
See also
font()
size()

Definition at line 156 of file qgstextformat.cpp.

◆ setAllowHtmlFormatting()

void QgsTextFormat::setAllowHtmlFormatting ( bool  allow)

Sets whether text should be treated as a HTML document and HTML tags should be used for formatting the rendered text.

Warning
Only a small subset of HTML formatting is supported. Currently this is restricted to:
  • text color formatting
  • strikethrough
  • underline
  • overline
See also
allowHtmlFormatting()
Since
QGIS 3.14

Definition at line 305 of file qgstextformat.cpp.

◆ setBackground()

void QgsTextFormat::setBackground ( const QgsTextBackgroundSettings backgroundSettings)

Sets the text's background settings.q.

Parameters
backgroundSettingsbackground settings
See also
background()

Definition at line 121 of file qgstextformat.cpp.

◆ setBlendMode()

void QgsTextFormat::setBlendMode ( QPainter::CompositionMode  mode)

Sets the blending mode used for drawing the text.

Parameters
modeblending mode
See also
blendMode()

Definition at line 259 of file qgstextformat.cpp.

◆ setBuffer()

void QgsTextFormat::setBuffer ( const QgsTextBufferSettings bufferSettings)

Sets the text's buffer settings.

Parameters
bufferSettingsbuffer settings
See also
buffer()

Definition at line 109 of file qgstextformat.cpp.

◆ setCapitalization()

void QgsTextFormat::setCapitalization ( QgsStringUtils::Capitalization  capitalization)

Sets the text capitalization style.

See also
capitalization()
Since
QGIS 3.16

Definition at line 293 of file qgstextformat.cpp.

◆ setColor()

void QgsTextFormat::setColor ( const QColor &  color)

Sets the color that text will be rendered in.

Parameters
colortext color
See also
color()

Definition at line 237 of file qgstextformat.cpp.

◆ setDataDefinedProperties()

void QgsTextFormat::setDataDefinedProperties ( const QgsPropertyCollection collection)

Sets the format's property collection, used for data defined overrides.

Parameters
collectionproperty collection. Existing properties will be replaced.
See also
dataDefinedProperties()
Since
QGIS 3.10

Definition at line 722 of file qgstextformat.cpp.

◆ setFont()

void QgsTextFormat::setFont ( const QFont &  font)

Sets the font used for rendering text.

Note that the size of the font is not used, and setSize() should be called instead to explicitly set the size of rendered text.

Parameters
fontdesired font
See also
font()
setNamedStyle()
fromQFont()

Definition at line 177 of file qgstextformat.cpp.

◆ setLineHeight()

void QgsTextFormat::setLineHeight ( double  height)

Sets the line height for text.

Parameters
heighta number between 0.0 and 10.0 representing the leading between lines as a multiplier of line height.
See also
lineHeight()

Definition at line 270 of file qgstextformat.cpp.

◆ setMask()

void QgsTextFormat::setMask ( const QgsTextMaskSettings maskSettings)

Sets the text's masking settings.

Masks may be defined in contexts where the text is rendered over some map layers, for labeling especially.

Parameters
maskSettingsmask settings
See also
mask()
Since
QGIS 3.12

Definition at line 145 of file qgstextformat.cpp.

◆ setNamedStyle()

void QgsTextFormat::setNamedStyle ( const QString &  style)

Sets the named style for the font used for rendering text.

Parameters
stylenamed style, e.g., "bold"
See also
namedStyle()
setFont()

Definition at line 192 of file qgstextformat.cpp.

◆ setOpacity()

void QgsTextFormat::setOpacity ( double  opacity)

Sets the text's opacity.

Parameters
opacityopacity as a double value between 0 (fully transparent) and 1 (totally opaque)
See also
opacity()

Definition at line 248 of file qgstextformat.cpp.

◆ setOrientation()

void QgsTextFormat::setOrientation ( TextOrientation  orientation)

Sets the orientation for the text.

See also
orientation()
Since
QGIS 3.10

Definition at line 281 of file qgstextformat.cpp.

◆ setPreviewBackgroundColor()

void QgsTextFormat::setPreviewBackgroundColor ( const QColor &  color)

Sets the background color that text will be rendered on for previews.

See also
previewBackgroundColor()
Since
QGIS 3.10

Definition at line 316 of file qgstextformat.cpp.

◆ setShadow()

void QgsTextFormat::setShadow ( const QgsTextShadowSettings shadowSettings)

Sets the text's drop shadow settings.

Parameters
shadowSettingsshadow settings
See also
shadow()

Definition at line 133 of file qgstextformat.cpp.

◆ setSize()

void QgsTextFormat::setSize ( double  size)

Sets the size for rendered text.

Parameters
sizesize of rendered text. Units are set using setSizeUnit()
See also
size()
setSizeUnit()

Definition at line 226 of file qgstextformat.cpp.

◆ setSizeMapUnitScale()

void QgsTextFormat::setSizeMapUnitScale ( const QgsMapUnitScale scale)

Sets the map unit scale object for the size.

This is only used if the sizeUnit() is set to QgsUnitTypes::RenderMapUnit.

See also
sizeMapUnitScale()
setSizeUnit()

Definition at line 215 of file qgstextformat.cpp.

◆ setSizeUnit()

void QgsTextFormat::setSizeUnit ( QgsUnitTypes::RenderUnit  unit)

Sets the units for the size of rendered text.

Parameters
unitsize units
See also
setSize()
sizeUnit()
setSizeMapUnitScale()

Definition at line 204 of file qgstextformat.cpp.

◆ setValid()

void QgsTextFormat::setValid ( )

Sets the format to a valid state, without changing any of the default format settings.

See also
isValid()
Since
QGIS 3.16

Definition at line 98 of file qgstextformat.cpp.

◆ shadow() [1/2]

QgsTextShadowSettings & QgsTextFormat::shadow ( )

Returns a reference to the text drop shadow settings.

See also
setShadow()

Definition at line 127 of file qgstextformat.cpp.

◆ shadow() [2/2]

QgsTextShadowSettings QgsTextFormat::shadow ( ) const
inline

Returns a reference to the text drop shadow settings.

See also
setShadow()

Definition at line 140 of file qgstextformat.h.

◆ size()

double QgsTextFormat::size ( ) const

Returns the size for rendered text.

Units are retrieved using sizeUnit().

See also
setSize()
sizeUnit()

Definition at line 221 of file qgstextformat.cpp.

◆ sizeMapUnitScale()

QgsMapUnitScale QgsTextFormat::sizeMapUnitScale ( ) const

Returns the map unit scale object for the size.

This is only used if the sizeUnit() is set to QgsUnitTypes::RenderMapUnit.

See also
setSizeMapUnitScale()
sizeUnit()

Definition at line 210 of file qgstextformat.cpp.

◆ sizeUnit()

QgsUnitTypes::RenderUnit QgsTextFormat::sizeUnit ( ) const

Returns the units for the size of rendered text.

See also
size()
setSizeUnit()
sizeMapUnitScale()

Definition at line 199 of file qgstextformat.cpp.

◆ textFormatPreviewPixmap()

QPixmap QgsTextFormat::textFormatPreviewPixmap ( const QgsTextFormat format,
QSize  size,
const QString &  previewText = QString(),
int  padding = 0 
)
static

Returns a pixmap preview for a text format.

Parameters
formattext format
sizetarget pixmap size
previewTexttext to render in preview, or empty for default text
paddingspace between icon edge and color ramp
Since
QGIS 3.10

Definition at line 911 of file qgstextformat.cpp.

◆ toMimeData()

QMimeData * QgsTextFormat::toMimeData ( ) const

Returns new mime data representing the text format settings.

Caller takes responsibility for deleting the returned object.

See also
fromMimeData()

Definition at line 592 of file qgstextformat.cpp.

◆ toQFont()

QFont QgsTextFormat::toQFont ( ) const

Returns a QFont matching the relevant settings from this text format.

Unlike font(), this method also handles the size and size units from the text format.

See also
fromQFont()
Since
QGIS 3.2

Definition at line 625 of file qgstextformat.cpp.

◆ updateDataDefinedProperties()

void QgsTextFormat::updateDataDefinedProperties ( QgsRenderContext context)

Updates the format by evaluating current values of data defined properties.

Since
QGIS 3.10

Definition at line 728 of file qgstextformat.cpp.

◆ writeXml()

QDomElement QgsTextFormat::writeXml ( QDomDocument &  doc,
const QgsReadWriteContext context 
) const

Write settings into a DOM element.

See also
readXml()

Definition at line 555 of file qgstextformat.cpp.


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