Class: QgsPropertyOverrideButton

class qgis.gui.QgsPropertyOverrideButton(parent: QWidget = None, layer: QgsVectorLayer = None)

Bases: PyQt5.QtWidgets.QToolButton

Constructor for QgsPropertyOverrideButton.

Parameters
  • parent (QWidget = None) – parent widget

  • layer (QgsVectorLayer = None) – associated vector layer

A button for controlling property overrides which may apply to a widget.

QgsPropertyOverrideButton is designed to be used alongside the QGIS properties framework (QgsProperty, QgsPropertyDefinition and QgsPropertyCollection).

It allows users to specify field or expression based overrides which should be applied to a property of an object. Eg, this widget is used for controlling data defined overrides in symbology, labeling and layouts.

Methods

aboutToShowMenu

actionEvent

changeEvent

checkStateSet

childEvent

closeEvent

connectNotify

contextMenuEvent

create

customEvent

destroy

disconnectNotify

dragEnterEvent

dragLeaveEvent

dragMoveEvent

dropEvent

enterEvent

event

focusInEvent

focusNextChild

focusNextPrevChild

focusOutEvent

focusPreviousChild

fullDescription

Returns the full definition description and current definition (internally generated on a contextual basis).

hideEvent

hitButton

init

Initialize a newly constructed property button (useful if button was included in a UI layout).

initPainter

initStyleOption

inputMethodEvent

isActive

Returns True if the button has an active property.

isSignalConnected

keyPressEvent

keyReleaseEvent

leaveEvent

menuActionTriggered

param action

metric

mouseDoubleClickEvent

mouseMoveEvent

mousePressEvent

mouseReleaseEvent

param event

moveEvent

nativeEvent

nextCheckState

paintEvent

propertyKey

Returns the property key linked to the button.

receivers

registerCheckedWidget

Register a sibling widget that gets checked when the property is active.

registerEnabledWidget

Register a sibling widget that gets enabled when the property is active, and disabled when the property is inactive.

registerExpressionContextGenerator

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

registerExpressionWidget

Register a sibling widget (line edit, text edit) that will receive the property as an expression

registerLinkedWidget

Registers a widget which is linked to this button.

registerVisibleWidget

Register a sibling widget that gets visible when the property is active, and hidden when the property is inactive.

resizeEvent

sender

senderSignalIndex

setActive

Set whether the current property override definition is to be used

setToProperty

Sets the widget to reflect the current state of a QgsProperty.

setUsageInfo

Set the usage information for the property.

setVectorLayer

Sets the vector layer associated with the button.

sharedPainter

showEvent

tabletEvent

timerEvent

toProperty

Returns a QgsProperty object encapsulating the current state of the widget.

updateFieldLists

Updates list of fields.

updateMicroFocus

usageInfo

Returns usage information for the property.

validDataType

Returns the data type which the widget will accept.

vectorLayer

Returns the vector layer associated with the button.

wheelEvent

Signals

activated

Emitted when the activated status of the widget changes [signal]

changed

Emitted when property definition changes [signal]

createAuxiliaryField

Emitted when creating a new auxiliary field [signal]

aboutToShowMenu(self)
actionEvent(self, QActionEvent)
activated

Emitted when the activated status of the widget changes [signal]

Parameters

isActive (bool) –

changeEvent(self, QEvent)
changed

Emitted when property definition changes [signal]

checkStateSet(self)
childEvent(self, QChildEvent)
closeEvent(self, QCloseEvent)
connectNotify(self, QMetaMethod)
contextMenuEvent(self, QContextMenuEvent)
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createAuxiliaryField

Emitted when creating a new auxiliary field [signal]

customEvent(self, QEvent)
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
enterEvent(self, QEvent)
event(self, QEvent) → bool
focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, QFocusEvent)
focusPreviousChild(self) → bool
fullDescription(self) → str

Returns the full definition description and current definition (internally generated on a contextual basis).

Return type

str

hideEvent(self, QHideEvent)
hitButton(self, QPoint) → bool
init(self, propertyKey: int, property: QgsProperty, definitions: Dict[int, QgsPropertyDefinition], layer: QgsVectorLayer = None, auxiliaryStorageEnabled: bool = False)

Initialize a newly constructed property button (useful if button was included in a UI layout).

Parameters
  • propertyKey (int) – key for corresponding property

  • property (QgsProperty) – initial value of associated property to show in widget

  • definitions (Dict[int) – properties definitions for corresponding collection

  • layer (QgsVectorLayer = None) – associated vector layer

  • auxiliaryStorageEnabled (bool = False) – If True, activate the button to store data defined in auxiliary storage

init(self, propertyKey: int, property: QgsProperty, definition: QgsPropertyDefinition, layer: QgsVectorLayer = None, auxiliaryStorageEnabled: bool = False) Initialize a newly constructed property button (useful if button was included in a UI layout).

Parameters
  • propertyKey – key for corresponding property

  • property – initial value of associated property to show in widget

  • definition – properties definition for button

  • layer – associated vector layer

  • auxiliaryStorageEnabled – If True, activate the button to store data defined in auxiliary storage

init(self, propertyKey: int, collection: QgsAbstractPropertyCollection, definitions: Dict[int, QgsPropertyDefinition], layer: QgsVectorLayer = None, auxiliaryStorageEnabled: bool = False) Initialize a newly constructed property button (useful if button was included in a UI layout).

Parameters
  • propertyKey – key for corresponding property

  • collection – associated property collection

  • definitions – properties definitions for collection

  • layer – associated vector layer

  • auxiliaryStorageEnabled – If True, activate the button to store data defined in auxiliary storage

initPainter(self, QPainter)
initStyleOption(self, QStyleOptionToolButton)
inputMethodEvent(self, QInputMethodEvent)
isActive(self) → bool

Returns True if the button has an active property.

Return type

bool

isSignalConnected(self, QMetaMethod) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
leaveEvent(self, QEvent)
menuActionTriggered(self, action: QAction)
Parameters

action (QAction) –

metric(self, QPaintDevice.PaintDeviceMetric) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, event: QMouseEvent)
Parameters

event (QMouseEvent) –

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

Returns the property key linked to the button.

Return type

int

receivers(self, PYQT_SIGNAL) → int
registerCheckedWidget(self, widget: QWidget, natural: bool = True)

Register a sibling widget that gets checked when the property is active. if natural is False, widget gets unchecked when the property is active.

Note

this should be called after calling init() to be correctly initialized.

Parameters
  • widget (QWidget) –

  • natural (bool = True) –

registerEnabledWidget(self, widget: QWidget, natural: bool = True)

Register a sibling widget that gets enabled when the property is active, and disabled when the property is inactive. if natural is False, widget gets disabled when the property is active, and enabled when the property is inactive.

Note

this should be called after calling init() to be correctly initialized.

Parameters
  • widget (QWidget) –

  • natural (bool = True) –

registerExpressionContextGenerator(self, generator: QgsExpressionContextGenerator)

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

Parameters

generator (QgsExpressionContextGenerator) –

registerExpressionWidget(self, widget: QWidget)

Register a sibling widget (line edit, text edit) that will receive the property as an expression

Note

this should be called after calling init() to be correctly initialized.

Parameters

widget (QWidget) –

registerLinkedWidget(self, widget: QWidget)

Registers a widget which is linked to this button. The meaning of linked widgets depends on the property type, and the type of linked widget.

For color properties, linking a QgsColorButton allows the color button to correctly reflect the status of the property when it’s set to follow a project color.

New in version 3.6.

Parameters

widget (QWidget) –

registerVisibleWidget(self, widget: QWidget, natural: bool = True)

Register a sibling widget that gets visible when the property is active, and hidden when the property is inactive. if natural is False, widget gets hidden when the property is active, and visible when the property is inactive.

Note

this should be called after calling init() to be correctly initialized.

Parameters
  • widget (QWidget) –

  • natural (bool = True) –

resizeEvent(self, QResizeEvent)
sender(self) → QObject
senderSignalIndex(self) → int
setActive(self, active: bool)

Set whether the current property override definition is to be used

Parameters

active (bool) –

setToProperty(self, property: QgsProperty)

Sets the widget to reflect the current state of a QgsProperty.

Parameters

property (QgsProperty) –

setUsageInfo(self, info: str)

Set the usage information for the property.

See also

usageInfo()

Parameters

info (str) –

setVectorLayer(self, layer: QgsVectorLayer)

Sets the vector layer associated with the button. This controls which fields are displayed within the widget’s pop up menu.

See also

vectorLayer()

Parameters

layer (QgsVectorLayer) –

sharedPainter(self) → QPainter
showEvent(self, QShowEvent)
tabletEvent(self, QTabletEvent)
timerEvent(self, QTimerEvent)
toProperty(self)QgsProperty

Returns a QgsProperty object encapsulating the current state of the widget.

See also

setToProperty()

Return type

QgsProperty

updateFieldLists(self)

Updates list of fields.

New in version 3.0.

updateMicroFocus(self)
usageInfo(self) → str

Returns usage information for the property.

See also

setUsageInfo()

Return type

str

validDataType(self) → QgsPropertyDefinition.DataType

Returns the data type which the widget will accept. This is used to filter out fields from the associated vector layer to only show fields which are compatible with the property.

Return type

QgsPropertyDefinition.DataType

vectorLayer(self)QgsVectorLayer

Returns the vector layer associated with the button. This controls which fields are displayed within the widget’s pop up menu.

See also

setVectorLayer()

Return type

QgsVectorLayer

wheelEvent(self, QWheelEvent)