Avec PyQGIS, vous pouvez modifier divers paramètres tels que la mise en gras des groupes dans le panneau Calques (ou la table des matières):
from PyQt4.QtCore import QSettings
QSettings().setValue("/Qgis/legendGroupsBold", True)
Les paramètres sont écrits, ce qui peut être vu à partir des options ou en tapant:
QSettings().value("/Qgis/legendGroupsBold")
>>> u'true'
Mais cela ne s'applique pas. J'ai pensé utiliser
QSettings().sync()
pourrait aider mais malheureusement pas. La seule façon de l'appliquer serait d'aller à l'interface graphique ( Settings > Options
) puis de cliquer OKou de redémarrer QGIS.
Existe-t-il une méthode pour le faire via PyQGIS?
Contexte :
Je souhaite ajouter ceci en tant que macro dans un fichier de projet pour garantir (à des fins esthétiques) que seuls les noms de groupe sont en gras et les noms de calque ne le sont pas. Par conséquent, il serait idéal que les QSettings soient appliqués lorsque le projet a été chargé (les paramètres initiaux seraient réappliqués à la fermeture du projet).
la source
QSettings().setValue("/qgis/legendLayersBold", False)
.Je pense que le problème est dans cette ligne github.com/qgis/QGIS/blob/release-2_18/src/app/…QgisApp::instance()->legend()->updateLegendItemStyles();
mais dans une future version probablement?Réponses:
Je pense que ce n'est pas possible sauf si vous écrivez une clé avec l'état par défaut dans votre
\HKEY_CURRENT_USER\Software\QGIS\qgis\UI\state
jeter un oeil ici .en fait, lorsque nous redémarrons le logiciel, il le fait automatiquement pour nous.
vérifiez cette solution:
si cela ne fonctionne pas, vous devez écrire un script pour réécrire cette valeur de registre.
pour ce faire, vous devez utiliser winreg pour manipuler les valeurs de registre.
vous pouvez afficher vos clés de registre via regedit.exe si vous utilisez Windows.
J'espère que ceci vous aide...
la source