4 votos

Etiquetas de capas en negrita y cursiva con Python en QGIS

Estoy tratando de aplicar algunas propiedades de etiquetado a una capa usando Python. Todo fue bien, excepto la forma en que traté de aplicar las configuraciones de Negrita y Cursiva. Aquí está una parte del código:

  layer.setCustomProperty("labeling/fieldName", field.name())
  layer.setCustomProperty("labeling", "pal")
  layer.setCustomProperty("labeling/enabled", "True")
  layer.setCustomProperty("labeling/fontFamily", "Arial Narrow")

  if self.dlg.pt6.isChecked():
    layer.setCustomProperty("labeling/fontSize", "6")
  if self.dlg.pt8.isChecked():
    layer.setCustomProperty("labeling/fontSize", "8")
  if self.dlg.pt10.isChecked():
    layer.setCustomProperty("labeling/fontSize", "10")

  if self.dlg.chkbold.isChecked():
    layer.setCustomProperty("labeling/weight", "Bold")
    layer.setCustomProperty("labeling/fontWeight", "75")
    layer.setCustomProperty("labeling/Weight", "Bold")

  if self.dlg.chkitalic.isChecked():
    layer.setCustomProperty("labeling/fontItalic", "True")

0 votos

¿Ha probado a utilizar 75 en lugar de "75" y True en lugar de "True" ? Además, creo que "labeling/weight" no es compatible (sólo "labeling/fontWeight" ).

0 votos

Gracias. Creo que quitar las comillas es una buena idea. Por desgracia, esto no resuelve el problema.

1 votos

¡Genial! Esto funciona.

2voto

Elliott Maynard Puntos 11

Parece que depende del tipo de letra que utilices. Intenta alternar entre las siguientes opciones:

Negrita :

layer.setCustomProperty("labeling/namedStyle", "Bold")

Cursiva :

layer.setCustomProperty("labeling/namedStyle", "Italic")

Negrita y Cursiva :

layer.setCustomProperty("labeling/namedStyle", "Bold Italic")

Si no están seleccionadas ni la negrita ni la cursiva en su plugin, podría utilizar:

layer.setCustomProperty("labeling/namedStyle", "Regular")

Estas opciones se corresponden con los estilos de la interfaz gráfica de QGIS:

enter image description here

Esto debería servir.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X