Con PyQGIS, puede cambiar varias configuraciones, como poner en negrita los grupos en el Panel de capas (o tabla de contenido):
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/legendGroupsBold", True)
La configuración está escrita y se puede ver desde las opciones o escribiendo:
QSettings().value("/Qgis/legendGroupsBold")
>>> u'true'
Pero no se aplica. Pensé usar
QSettings().sync()
podría ayudar pero desafortunadamente no. La única forma de que se aplique sería ir a la GUI (Settings > Options
) y luego hacer clic OKo reiniciar QGIS.
¿Hay algún método para hacer esto a través de PyQGIS?
Contexto :
Quiero agregar esto como una macro en un archivo de proyecto para asegurar (con fines estéticos) que solo los nombres de grupo están en negrita y los nombres de capa no. Por lo tanto, sería ideal si los QSettings se aplican cuando el proyecto se ha cargado (la configuración inicial se volvería a aplicar cuando se cerrara el proyecto).
QSettings().setValue("/qgis/legendLayersBold", False)
. Creo que el problema está en esta línea github.com/qgis/QGIS/blob/release-2_18/src/app/…QgisApp::instance()->legend()->updateLegendItemStyles();
pero en una versión futura, probablemente?Respuestas:
Creo que no es posible a menos que escriba una clave con el estado predeterminado en su
\HKEY_CURRENT_USER\Software\QGIS\qgis\UI\state
vistazo aquí .en realidad, cuando reiniciamos el software, automáticamente lo hace por nosotros.
Comprueba esta solución:
Si no funciona, debe escribir un script para reescribir ese valor de registro.
para hacerlo, debe usar winreg para manipular los valores del registro.
puede ver sus claves de registro a través de regedit.exe si usa Windows.
Espero que esto te ayude...
fuente