Class: QgsVectorLayerFeatureCounter¶
- class qgis.core.QgsVectorLayerFeatureCounter¶
Bases:
QgsTask
Counts the features in a
QgsVectorLayer
in task. You should most likely not use this directly and instead callQgsVectorLayer.countSymbolFeatures()
and connect to the signalQgsVectorLayer.symbolFeatureCountMapChanged()
.New in version 3.0.
QgsVectorLayerFeatureCounter(layer:
QgsVectorLayer
, context:QgsExpressionContext
= QgsExpressionContext(), storeSymbolFids: bool = False) Create a new feature counter forlayer
.- Parameters
layer – Target
QgsVectorLayer
to perform counting on.context – Specific
QgsExpressionContext
to use during the rendering step.storeSymbolFids –
If
True
will store the feature ids (fids), otherwise will only count the number of features per symbol. DefaultFalse
.Methods
Returns the feature count for a particular
legendKey
.Returns the feature Ids for a particular
legendKey
.If the task is managed by a
QgsTaskManager
, this will be called after the task has finished (whether through successful completion or via early termination).Will return
True
if task should terminate ASAP.Calculates the feature count and Ids per symbol
Sets the task's current progress.
Signals
Emitted when the symbols have been counted.
- cancel(self)¶
- childEvent(self, QChildEvent)¶
- connectNotify(self, QMetaMethod)¶
- customEvent(self, QEvent)¶
- disconnectNotify(self, QMetaMethod)¶
- featureCount(self, legendKey: str) int ¶
Returns the feature count for a particular
legendKey
. If the key has not been found, -1 will be returned.- Parameters
legendKey (str) –
- Return type
int
- featureIds(self, symbolkey: str) object ¶
Returns the feature Ids for a particular
legendKey
. If the key has not been found an empty QSet will be returned.New in version 3.10.
- Parameters
symbolkey (str) –
- Return type
object
- finished(self, result: bool)¶
If the task is managed by a
QgsTaskManager
, this will be called after the task has finished (whether through successful completion or via early termination). The result argument reflects whether the task was successfully completed or not. This method is always called from the main thread, so it is safe to create widgets and perform other operations which require the main thread. However, the GUI will be blocked for the duration of this method so tasks should avoid performing any lengthy operations here.
- isCanceled(self) bool ¶
Will return
True
if task should terminate ASAP. If the task reports the CanCancel flag, then derived classes’run()
methods should periodically check this and terminate in a safe manner.
- isSignalConnected(self, QMetaMethod) bool ¶
- receivers(self, PYQT_SIGNAL) int ¶
- run(self) bool ¶
Calculates the feature count and Ids per symbol
- Return type
bool
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setProgress(self, progress: float)¶
Sets the task’s current progress. The derived class should call this method whenever the task wants to update its progress. Calling will automatically emit the progressChanged signal.
- Parameters
progress – percent of progress, from 0.0 - 100.0
- symbolsCounted¶
Emitted when the symbols have been counted. [signal]
- timerEvent(self, QTimerEvent)¶