Skip to content

Class QGisProjectManager

TheophileLaPelouse edited this page Dec 17, 2024 · 7 revisions

La classe QGisProjectManager est définie dans le fichier qgis_utilities.py.

La classe QGisProjectManager est une collection de méthodes statiques qui utilisent l'instance QgsProject et l'interface iface de QGIS. Elle fournit des fonctionnalités pour gérer les projets QGIS, y compris la création, l'ouverture, la mise à jour des projets, ainsi que la gestion des couches et des styles QML.

Liste des méthodes

Methodes Description
layertree() Charge la configuration de l'arborescence des couches à partir d'un fichier JSON
layertree_custom(filename : str) Charge la configuration personnalisée de l'arborescence des couches à partir d'un fichier JSON
layers(project_file_path : str) Récupère les couches du projet à partir de l'arborescence des couches.
new_project() Crée un nouveau projet QGIS.
open_project(project_file_path : str, srid : int) Ouvre un projet QGIS existant ou en crée un nouveau.
set_qgis_variable(var_name : str, value) Définit une variable personnalisée dans le projet QGIS.
refresh_layers(model_name : str) Rafraîchit les couches en fonction du modèle actuel.
get_qgis_variable(var_name : str) Récupère une variable personnalisée du projet QGIS.
exit_edition() Valide les modifications apportées aux couches.
update_project(project_file_path : str, project : QgsProject default None) Met à jour le projet QGIS avec les couches et les relations nécessaires.
hide_columns(layer : QgsVectorLayer, columns : list of str Masque les colonnes spécifiées dans une couche.
load_qml(project : QgsProject, project_file_path : str) Charge les styles QML pour les couches du projet. C'est ici que les références sont crées.
save_qml2ressource(project : QgsProject, layertree : dict) Sauvegarde les styles QML personnalisés dans le répertoire des ressources.
update_qml(project : QgsProject, project_file_path : str, f_details : dict, inp_outs : dict, f_inputs : dict Met à jour les styles QML des couches du projet.
update1qml(dico_layer : dict, layer : QgsVectorLayer, qml : str, f_details : dict, inp_outs : dict, f_inputs : dict, rapid : int default 1) Met à jour le style QML d'une couche.
create_project(project_file_path : str, srid : int) Crée un nouveau projet QGIS et appelle update_project.
save_custom_qml(project_file_path : str) Sauvegarde les styles QML personnalisés pour les couches du projet.
is_cycle_project() Vérifie si le projet actuel est un projet "LIEGES" d'après QGIS.
project_name() Récupère le nom du projet actuel.

update_project

Cette fonction est appelée à l'ouverture d'un projet. Elle va chercher chaque couche définie dans le fichier layertree.json et layertree_custom.json qui répertorie les blocs présents dans la base de donnée ainsi que le moyen pour y accéder. Puis elle ajoute ces couches dans le projet QGIS à ouvrir.

update1qml

Cette fonction est appelée à l'ouverture d'un projet. Elle prend en entrée les formules de chacun des blocs et définit le style des formulaires. Pour cela elle utilise le dictionnaires Alias définit dans qgis_utilities.py, et les informations relatives aux formules présentes dans la base de données.