Class: QgsFontButton

class qgis.gui.QgsFontButton

Bases: PyQt5.QtWidgets.QToolButton

A button for customizing QgsTextFormat settings.

The button will open a detailed text format settings dialog when clicked. An attached drop-down menu allows for copying and pasting text styles, picking colors for the text, and for dropping colors from other color widgets.

The button can be used in two different modes(). The default behavior is to include all settings used for configuring QgsTextFormat/QgsTextRenderer classes. A cut down mode (without settings for color) is also available when the resultant font is used only in a QFont object.

New in version 3.0.

QgsFontButton(parent: QWidget = None, dialogTitle: str = ‘’) Construct a new font button. Use parent to attach a parent QWidget to the dialog. Use dialogTitle string to define the title to show in the text settings dialog.

Methods

actionEvent

changeEvent

param e

checkStateSet

childEvent

closeEvent

connectNotify

contextMenuEvent

copyColor

Copies the current text color to the clipboard.

copyFormat

Copies the current text format to the clipboard.

create

currentFont

Returns the current QFont set by the widget.

customEvent

destroy

dialogTitle

Returns the title for the text settings dialog window.

disconnectNotify

dragEnterEvent

param e

dragLeaveEvent

param e

dragMoveEvent

dropEvent

param e

enterEvent

event

param e

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

hideEvent

hitButton

initPainter

initStyleOption

inputMethodEvent

isSignalConnected

keyPressEvent

keyReleaseEvent

layer

Returns the layer associated with the widget.

leaveEvent

mapCanvas

Returns the map canvas associated with the widget.

messageBar

Returns the message bar associated with the widget.

metric

minimumSizeHint

rtype

QSize

mode

Returns the current button mode.

mouseDoubleClickEvent

mouseMoveEvent

param e

mousePressEvent

param e

mouseReleaseEvent

moveEvent

nativeEvent

nextCheckState

paintEvent

pasteColor

Pastes a color from the clipboard to the text format.

pasteFormat

Pastes a format from the clipboard.

receivers

registerExpressionContextGenerator

Register an expression context generator class that will be used to retrieve an expression context for the button when required.

resizeEvent

param event

sender

senderSignalIndex

setColor

Sets the current color for the text.

setCurrentFont

Sets the current text font to show in the widget.

setDialogTitle

Sets the title for the text settings dialog window.

setLayer

Sets a layer to associate with the widget.

setMapCanvas

Sets a map canvas to associate with the widget.

setMessageBar

Sets the message bar associated with the widget.

setMode

Sets the current button mode.

setNoFormatString

Sets the string to use for the “null format” option in the button’s drop-down menu.

setShowNullFormat

Sets whether the “null format” option should be shown in the button’s drop-down menu.

setTextFormat

Sets the current text format to show in the widget.

setToNullFormat

Sets the text format to a null (invalid) QgsTextFormat.

sharedPainter

showEvent

param e

showNullFormat

Returns whether the “null format” option will be shown in the button’s drop-down menu.

sizeHint

rtype

QSize

tabletEvent

textFormat

Returns the current text formatting set by the widget.

timerEvent

updateMicroFocus

wheelEvent

param event

Signals

changed

Emitted when the widget’s text format settings are changed.

Attributes

ModeQFont

ModeTextRenderer

class Mode

Bases: int

baseClass

alias of qgis._gui.QgsFontButton

ModeQFont = 1
ModeTextRenderer = 0
actionEvent(self, QActionEvent)
changeEvent(self, e: QEvent)
Parameters

e (QEvent) –

changed

Emitted when the widget’s text format settings are changed. [signal]

checkStateSet(self)
childEvent(self, QChildEvent)
closeEvent(self, QCloseEvent)
connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
copyColor(self)

Copies the current text color to the clipboard. This is only used when mode() is ModeTextRenderer.

See also

pasteColor()

copyFormat(self)

Copies the current text format to the clipboard.

See also

pasteFormat()

create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
currentFont(self)QFont

Returns the current QFont set by the widget. This is only used when mode() is ModeQFont.

See also

setCurrentFont()

Return type

QFont

customEvent(self, QEvent)
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
dialogTitle(self)str

Returns the title for the text settings dialog window.

See also

setDialogTitle()

Return type

str

disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, e: QDragEnterEvent)
Parameters

e (QDragEnterEvent) –

dragLeaveEvent(self, e: QDragLeaveEvent)
Parameters

e (QDragLeaveEvent) –

dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, e: QDropEvent)
Parameters

e (QDropEvent) –

enterEvent(self, QEvent)
event(self, e: QEvent)bool
Parameters

e (QEvent) –

Return type

bool

focusInEvent(self, QFocusEvent)
focusNextChild(self)bool
focusNextPrevChild(self, bool)bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self)bool
hideEvent(self, QHideEvent)
hitButton(self, QPoint)bool
initPainter(self, QPainter)
initStyleOption(self, QStyleOptionToolButton)
inputMethodEvent(self, QInputMethodEvent)
isSignalConnected(self, QMetaMethod)bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
layer(self)QgsVectorLayer

Returns the layer associated with the widget.

See also

setLayer()

New in version 3.10.

Return type

QgsVectorLayer

leaveEvent(self, QEvent)
mapCanvas(self)QgsMapCanvas

Returns the map canvas associated with the widget.

See also

setMapCanvas()

Return type

QgsMapCanvas

messageBar(self)QgsMessageBar

Returns the message bar associated with the widget.

See also

setMessageBar()

New in version 3.10.

Return type

QgsMessageBar

metric(self, QPaintDevice.PaintDeviceMetric)int
minimumSizeHint(self)QSize
Return type

QSize

mode(self)QgsFontButton.Mode

Returns the current button mode.

See also

setMode()

Return type

QgsFontButton.Mode

mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, e: QMouseEvent)
Parameters

e (QMouseEvent) –

mousePressEvent(self, e: QMouseEvent)
Parameters

e (QMouseEvent) –

mouseReleaseEvent(self, QMouseEvent)
moveEvent(self, QMoveEvent)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr)Tuple[bool, int]
nextCheckState(self)
paintEvent(self, QPaintEvent)
pasteColor(self)

Pastes a color from the clipboard to the text format. If clipboard does not contain a valid color or string representation of a color, then no change is applied. This is only used when mode() is ModeTextRenderer.

See also

copyColor()

pasteFormat(self)

Pastes a format from the clipboard. If clipboard does not contain a valid format then no change is applied.

See also

copyFormat()

receivers(self, PYQT_SIGNAL)int
registerExpressionContextGenerator(self, generator: QgsExpressionContextGenerator)

Register an expression context generator class that will be used to retrieve an expression context for the button when required.

New in version 3.10.

Parameters

generator (QgsExpressionContextGenerator) –

resizeEvent(self, event: QResizeEvent)
Parameters

event (QResizeEvent) –

sender(self)QObject
senderSignalIndex(self)int
setColor(self, color: Union[QColor, Qt.GlobalColor, QGradient])

Sets the current color for the text. Will emit a changed signal if the color is different to the previous text color. This is only used when mode() is ModeTextRenderer.

Parameters

color (Union[QColor) –

setCurrentFont(self, font: QFont)

Sets the current text font to show in the widget. This is only used when mode() is ModeQFont.

See also

currentFont()

Parameters

font (QFont) –

setDialogTitle(self, title: str)

Sets the title for the text settings dialog window.

See also

dialogTitle()

Parameters

title (str) –

setLayer(self, layer: QgsVectorLayer)

Sets a layer to associate with the widget. This allows the widget to setup layer related settings within the text settings dialog, such as correctly populating data defined override buttons.

See also

layer()

New in version 3.10.

Parameters

layer (QgsVectorLayer) –

setMapCanvas(self, canvas: QgsMapCanvas)

Sets a map canvas to associate with the widget. This allows the widget to fetch current settings from the map canvas, such as current scale.

See also

mapCanvas()

Parameters

canvas (QgsMapCanvas) –

setMessageBar(self, bar: QgsMessageBar)

Sets the message bar associated with the widget. This allows the widget to push feedback messages to the appropriate message bar.

See also

messageBar()

New in version 3.10.

Parameters

bar (QgsMessageBar) –

setMode(self, mode: QgsFontButton.Mode)

Sets the current button mode. This can be used to toggle between the full capabilities of the button (for configuring QgsTextFormat/QgsTextRenderer objects) and a cut-back version for configuring QFont object properties (i.e. with no color settings or the other advanced options QgsTextFormat allows).

See also

mode()

Parameters

mode (QgsFontButton.Mode) –

setNoFormatString(self, string: str)

Sets the string to use for the “null format” option in the button’s drop-down menu.

Note

The “null format” option is only shown if showNullFormat() is True.

New in version 3.16.

Parameters

string (str) –

setShowNullFormat(self, show: bool)

Sets whether the “null format” option should be shown in the button’s drop-down menu. This option is only used for buttons set to the ModeTextRenderer mode().

If selected, the “null format” option sets the button’s format to an invalid QgsTextFormat. This can be used to represent a “use default format” state for the button.

By default this option is not shown.

See also

showNullFormat()

New in version 3.16.

Parameters

show (bool) –

setTextFormat(self, format: QgsTextFormat)

Sets the current text format to show in the widget. This is only used when mode() is ModeTextRenderer.

See also

textFormat()

Parameters

format (QgsTextFormat) –

setToNullFormat(self)

Sets the text format to a null (invalid) QgsTextFormat.

This is only used when mode() is ModeTextRenderer.

New in version 3.16.

sharedPainter(self)QPainter
showEvent(self, e: QShowEvent)
Parameters

e (QShowEvent) –

showNullFormat(self)bool

Returns whether the “null format” option will be shown in the button’s drop-down menu. This option is only used for buttons set to the ModeTextRenderer mode().

If selected, the “null format” option sets the button’s format to an invalid QgsTextFormat. This can be used to represent a “use default format” state for the button.

By default this option is not shown.

New in version 3.16.

Return type

bool

sizeHint(self)QSize
Return type

QSize

tabletEvent(self, QTabletEvent)
textFormat(self)QgsTextFormat

Returns the current text formatting set by the widget. This is only used when mode() is ModeTextRenderer.

See also

setTextFormat()

Return type

QgsTextFormat

timerEvent(self, QTimerEvent)
updateMicroFocus(self)
wheelEvent(self, event: QWheelEvent)
Parameters

event (QWheelEvent) –