<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    Ciao Giulio,<br>
    sei riuscito a risolvere il problema apportando le modifiche
    suggerite?<br>
    <br>
    A presto.<br>
    <br>
    Andrea<br>
    <br>
    <div class="moz-cite-prefix">Il 14/06/2022 17:31, Andrea
      Giudiceandrea ha scritto:<br>
    </div>
    <blockquote type="cite"
      cite="mid:7b53f0f2-27f6-1caf-5fa4-f2f6b0351164@libero.it">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      Ciao Giulio,<br>
      prima di tutto la riga 23 (new_renderer =
      QgsCategorizedSymbolRenderer()) mi pare sia superflua. Comunque il
      problema non dipende da questo.<br>
      <br>
      A mio avviso il problema è dovuto al fatto che quando, nel ciclo
      for, assegni la simbologia di una categoria alla variabile new_sym
      (new_sym = category.symbol()), l'ownership di tale oggetto non
      viene trasferito, mentre nella creazione di un nuovo oggetto
      QgsRendererCategory(category.value(), new_sym,
      str(new_label[i])+alt_value) l'ownership della simbologia deve
      essere trasferito alla categoria (come indicato nella
      documentazione della classe QgsRendererCategory [1]).<br>
      <br>
      Questo tentativo di trasferire ad un oggetto l'ownership che non
      si possiede di un altro oggetto creare il crash quando si tenta di
      accedere nuovamente all'oggetto.<br>
      <br>
      Per ovviare a tale problema bisogna creare un clone ("deep copy")
      del simbolo in modo da possederne l'ownership affinché possa
      essere trasferito correttamente all'oggetto QgsRendererCategory.<br>
      <br>
      Quindi penso che il problema possa essere risolto modificando il
      codice in uno dei seguenti due modi:<br>
      <br>
      ...<br>
      for i, category in enumerate(categories):<br>
           new_sym = category.symbol()<br>
           new_categories.append(QgsRendererCategory(category.value(),
      new_sym.clone(), str(new_label[i])+alt_value))<br>
      ...<br>
      <br>
      ...<br>
      for i, category in enumerate(categories):<br>
           new_sym = category.symbol().clone()<br>
           new_categories.append(QgsRendererCategory(category.value(),
      new_sym, str(new_label[i])+alt_value))<br>
      ...<br>
      <br>
      <br>
      A presto.<br>
      <br>
      Andrea<br>
      <br>
      <br>
      <div class="moz-cite-prefix">Il 14/06/2022 13:23, Giulio Fattori
        ha scritto:<br>
      </div>
      <blockquote type="cite"
        cite="mid:a78270db-2bd9-035b-2a58-6261cee5ad03@tin.it">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <p><font size="2"><font face="Century Gothic">Buongiorno,<br>
            </font></font></p>
        <p><font size="2"><font face="Century Gothic">Ho realizzato
              questo script da console per modificare la legenda di un
              layer categorizzato.</font></font></p>
      </blockquote>
    </blockquote>
    <br>
  </body>
</html>