Effacement des systèmes de référence de coordonnées récemment utilisés à l'aide de QGIS?

9

Après avoir utilisé un SRC non habituel à des fins de démonstration, je souhaite effacer ma liste "Systèmes de référence de coordonnées récemment utilisés" pour des raisons de praticité.

C'est possible?

J'utilise QGIS 2.10.1.

RASC
la source

Réponses:

9

QGIS 2.x

Oui, vous pouvez entrer le code suivant dans la console Python pour supprimer tous les systèmes de référence de coordonnées récemment utilisés de l'interface utilisateur:

from PyQt4.QtCore import QSettings

QSettings().remove('UI/recentProjections')
QSettings().remove('UI/recentProjectionsAuthId')

Maintenant, je ne sais pas exactement pourquoi, mais pour moi au moins, utiliser une removeméthode n'était pas suffisant. J'ai dû utiliser les deux (la commande n'a pas d'importance tant que les deux sont utilisés).

Mais ça marche pour moi quand même et j'espère aussi pour vous!


QGIS 3.x

Vous pouvez utiliser les éléments suivants:

from PyQt5.QtCore import QSettings 
QSettings().remove('UI/recentProjections')

Ou pour importer de QSettingsmanière générique (c'est-à-dire à partir de différentes versions majeures de QGIS), vous pouvez utiliser ce qui suit (grâce à @TeddyTedTed ):

from qgis.PyQt.QtCore import QSettings
Joseph
la source
3
Merci Joseph, fonctionne très bien. J'ai fait une demande de fonctionnalité pour que cela soit inclus dans l'interface graphique, afin de faciliter la tâche pour les utilisateurs standard.
RASC
@RASC - Copain génial, content que ça marche! Il y a une option pour réinitialiser le QSettingsqui stocke les paramètres d'interface utilisateur auxquels ils pourraient ajouter la fonction ci-dessus.
Joseph
1
Merci @Joseph. Pour QGIS 3.x, utilisez - "from qgis.PyQt.QtCore import QSettings"
TeddyTedTed
1
@TeddyTedTed - Merci pour votre commentaire, c'est certainement une méthode plus générique au lieu de spécifier PyQt4ou PyQt5etc.
Joseph
1
Dans QGIS 3.6.3, la deuxième ligne estQSettings().remove('UI/recentProjections')
aldeano