[QGIS-Developer] PyQGIS code: setting filter expression for value relation widget
Germán Carrillo
carrillo.german at gmail.com
Sat Feb 18 15:58:48 PST 2023
Hi Andreas,
you can modify your Value Relation widget's filter expression using the
QgsEditorWidgetSetup class, in this way:
1) Get the editor widget setup and get a copy of its config dictionary:
ews = layer.editorWidgetSetup(3) # *Let's assume your Value Relation
widget is set for a field with index 3*
new_config = ews.config() # *We'll use the current config as a basis
to modify only the filter expression*
2) Modify the config dict's filter expression:
new_config['FilterExpression'] = 'your new expression'
3) Apply changes to your layer:
new_ews = QgsEditorWidgetSetup('ValueRelation', new_config)
layer.setEditorWidgetSetup(3, new_ews) # *Remember that 3 corresponds
to the field index*
And that's it! You should have now a different set of values in the Value
Relation widget.
Regards,
Germán
El lun, 13 feb 2023 a las 5:40, Andreas Neumann via QGIS-Developer (<
qgis-developer at lists.osgeo.org>) escribió:
> Hi,
>
> I am looking for a code snippet in PyQGIS: how can I change the filter
> expression for a value relation widget?
>
> Technically, the widget seems to be a QComboBox. I can get access to the
> combobox, e.g. to get the current value - but how can I access the QGIS
> related functionality, like changing programmatically settings of the value
> relation widget , such as the filter expression? I found the
> QgsValueRelationFieldFormatter object, but it doesn't allow me to change
> the filter expression. Any idea how I would change the filter expression
> using Python?
>
> Thank you for any hints,
>
> Andreas
> _______________________________________________
> QGIS-Developer mailing list
> QGIS-Developer at lists.osgeo.org
> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>
--
-----------
|\__
(:>__)(
|/
Soluciones Geoinformáticas Libres
http://geotux.tuxfamily.org/
https://twitter.com/GeoTux2 <http://twitter.com/GeoTux2>
<http://gis.stackexchange.com/users/4972/germ%c3%a1n-carrillo>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20230218/525cb2a3/attachment.htm>
More information about the QGIS-Developer
mailing list