Subgroup: Property

Class: QgsPropertyOverrideButton

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

Bases: PyQt5.QtWidgets.QToolButton

Constructor for QgsPropertyOverrideButton.

Parameters:
  • parent – parent widget
  • layer – 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.

New in version 3.0: Methods

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
metric
mouseDoubleClickEvent
mouseMoveEvent
mousePressEvent
mouseReleaseEvent
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
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]

Attributes

actionEvent()
activated

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

changeEvent()
changed

Emitted when property definition changes [signal]

checkStateSet()
childEvent()
closeEvent()
connectNotify()
contextMenuEvent()
create()
createAuxiliaryField

Emitted when creating a new auxiliary field [signal]

customEvent()
destroy()
disconnectNotify()
dragEnterEvent()
dragLeaveEvent()
dragMoveEvent()
dropEvent()
enterEvent()
event()
focusInEvent()
focusNextChild()
focusNextPrevChild()
focusOutEvent()
focusPreviousChild()
fullDescription(self) → str

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

hideEvent()
hitButton()
init(self, propertyKey: int, property: QgsProperty, definitions: object, 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
  • definitions – properties definitions for corresponding collection
  • layer – associated vector layer
  • auxiliaryStorageEnabled – 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: object, 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()
initStyleOption()
inputMethodEvent()
isActive(self) → bool

Returns true if the button has an active property.

isSignalConnected()
keyPressEvent()
keyReleaseEvent()
leaveEvent()
metric()
mouseDoubleClickEvent()
mouseMoveEvent()
mousePressEvent()
mouseReleaseEvent(self, event: QMouseEvent)
moveEvent()
nativeEvent()
nextCheckState()
paintEvent()
propertyKey(self) → int

Returns the property key linked to the button.

receivers()
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.

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.

registerExpressionContextGenerator(self, generator: QgsExpressionContextGenerator)

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

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.

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.

resizeEvent()
sender()
senderSignalIndex()
setActive(self, active: bool)

Set whether the current property override definition is to be used

setToProperty(self, property: QgsProperty)

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

setUsageInfo(self, info: str)

Set the usage information for the property.

See also

usageInfo()

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()

sharedPainter()
showEvent()
tabletEvent()
timerEvent()
toProperty(self) → QgsProperty

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

See also

setToProperty()

updateFieldLists(self)

Updates list of fields.

New in version 3.0.

updateMicroFocus()
usageInfo(self) → str

Returns usage information for the property.

See also

setUsageInfo()

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.

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()

wheelEvent()