Olá Gustavo

How do I apply the named style afterwards in PyQGIS from the style qml file as the example below?

Thanks again

Manuel

<!DOCTYPE qgis PUBLIC 'http://mrcc.com/qgis.dtd' 'SYSTEM'>
<qgis simplifyLocal="1" labelsEnabled="0" simplifyMaxScale="1" simplifyDrawingTol="1" simplifyDrawingHints="1" simplifyAlgorithm="0" version="3.18.1-Zürich" readOnly="0" hasScaleBasedVisibilityFlag="0" minScale="100000000" maxScale="0" styleCategories="AllStyleCategories">
  <flags>
    <Identifiable>1</Identifiable>
    <Removable>1</Removable>
    <Searchable>1</Searchable>
    <Private>0</Private>
  </flags>
  <temporal durationUnit="min" enabled="0" startExpression="" fixedDuration="0" startField="" mode="0" durationField="" accumulate="0" endField="" endExpression="">
    <fixedRange>
      <start></start>
      <end></end>
    </fixedRange>
  </temporal>
  <renderer-v2 forceraster="0" attr="layer" enableorderby="0" symbollevels="0" type="categorizedSymbol">
    <categories>
      <category value="interior" render="true" symbol="0" label="Faixa interior"/>       <category value="exterior" render="true" symbol="1" label="Faixa exterior"/>
    </categories>
    <symbols>
      <symbol name="0" clip_to_extent="1" force_rhr="0" alpha="0.7" type="fill">
        <data_defined_properties>
          <Option type="Map">
            <Option value="" name="name" type="QString"/>
            <Option name="properties"/>
            <Option value="collection" name="type" type="QString"/>
          </Option>
        </data_defined_properties>
        <layer enabled="1" locked="0" pass="0" class="SimpleFill">
          <Option type="Map">
            <Option value="3x:0,0,0,0,0,0" name="border_width_map_unit_scale" type="QString"/>
            <Option value="128,128,128,255" name="color" type="QString"/>
            <Option value="bevel" name="joinstyle" type="QString"/>
            <Option value="0,0" name="offset" type="QString"/>
            <Option value="3x:0,0,0,0,0,0" name="offset_map_unit_scale" type="QString"/>


[...]


On 11/06/2021 14:41, Jorge Gustavo Rocha wrote:
Olá Manuel,

There is no way to get the PyQGIS code from the style, as far as I know.

But you can save the style (using the native QGIS format) and apply the
named style afterwards in PyQGIS easily. Is this alternative workflow
suitable for you?

Regards,

Gustavo

On 11/06/21 12:56, Manuel Campagnolo wrote:
Hi

Do you know of a way of using the style of a ,say, vector layer in
QGIS3 to create automatically the python code that would generate it,
namely the QgsSymbol part in the code below.

Thanks


symbol1=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol2=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol3=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol4=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())
symbol5=QgsSymbol.defaultSymbol(ifn_ppsm.geometryType())

symbol1.setColor(QColor('black'))
symbol2.setColor(QColor('gray'))
symbol3.setColor(QColor('dark green'))
symbol4.setColor(QColor('light green'))
symbol5.setColor(QColor('orange'))

cat1=QgsRendererCategory('Improdutivos', symbol1, 'Improdutivos') #
category, symbol, label
cat2=QgsRendererCategory('Urbano', symbol2, 'Urbano')
cat3=QgsRendererCategory('Matos e Pastagens', symbol3, 'Matos e
Pastagens')
cat4=QgsRendererCategory('Floresta', symbol4, 'Floresta')
cat5=QgsRendererCategory('Agricultura', symbol5, 'Agricultura')
categories=[cat1,cat2,cat3,cat4,cat5] # list

renderer = QgsCategorizedSymbolRenderer('usosolo', categories)
ifn_ppsm.setRenderer(renderer)

_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user
_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

--
---------------------------------
Manuel Campagnolo
https://www.isa.ulisboa.pt/id/mlc

_______________________________________________
Qgis-user mailing list
[email protected]
List info: https://lists.osgeo.org/mailman/listinfo/qgis-user
Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-user

Reply via email to