banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

#1 Fri 29 November 2024 18:34

liege67
Participant assidu
Lieu: Liège
Date d'inscription: 10 Apr 2014
Messages: 179

QGIS 3.40.1: comment gerer l ajout de boutons dans une toolbar ?

bonjour

j'ai ajouté un bouton dans la toolbar mMapNavToolBar, qui ouvre via un script python une mise en page spécifique
j'ai 2 soucis

+ comment conserver ce bouton supplémentaire d'une session à l'autre ? il ne revient pas à l'ouverture de qgis
+ quelles sont les caratéristiques des images à utiliser sur les boutons ? une seule fonctionne, récupérée depuis la doc de QGIS

merci, jean marc

Hors ligne

 

#2 Mon 02 December 2024 10:52

GlaDal
Participant assidu
Date d'inscription: 30 Aug 2013
Messages: 1128

Re: QGIS 3.40.1: comment gerer l ajout de boutons dans une toolbar ?

Bonjour,

Je ne suis pas sûr de comprendre le problème (ou la source du problème). Je ne sais pas comment vous avez ajouter votre bouton. De sûr, ils se gèrent dans Onglet 'Préférences' -> 'Options' - > Rubrique 'Traitement' -> Paramètre 'Menu' -> Script: vous avez ici l'ensemble des scripts qui peuvent apparaître ou non dans la barre d'outils (il faut pour cela cocher l'option 'Add button in toolbar'.
Pour les icônes, j'utilise des .png

Est-ce que ça vous aide ?

Hors ligne

 

#3 Mon 02 December 2024 14:22

liege67
Participant assidu
Lieu: Liège
Date d'inscription: 10 Apr 2014
Messages: 179

Re: QGIS 3.40.1: comment gerer l ajout de boutons dans une toolbar ?

bonjour
de fait ma demande est imprécise
l'ajout de bouton se fait via un script python, et je comprends bien que son existence soit liée à la session durant laquelle le script est exécuté

depuis j'ai découvert le chemin  C:\Users\<VotreNomUtilisateur>\AppData\Roaming\QGIS\python\startup pour y placer les scripts à démarre mais je n'ai pas encore testé


jm

Hors ligne

 

#4 Thu 02 January 2025 15:45

liege67
Participant assidu
Lieu: Liège
Date d'inscription: 10 Apr 2014
Messages: 179

Re: QGIS 3.40.1: comment gerer l ajout de boutons dans une toolbar ?

bonjour
je reprends mon baton de pélerin pour ajouter automatiquement un script PY au démarrage de QGIS

j'ai créé (avec Copilot) le script startup.py sous C:\Users\liege\AppData\Roaming\QGIS\QGIS3\profiles\default\python, il contient ce code

import os
import sys

# Ajouter le chemin du script à sys.path pour s'assurer qu'il est trouvable
script_path = 'Q:/cartographie/scripts'
if script_path not in sys.path:
    sys.path.append(script_path)

# Importer et exécuter le script
import AddBoutonOpenForm1

# Exécuter une fonction spécifique du script s'il en contient une
if hasattr(AddBoutonOpenForm1, 'main'):
    AddBoutonOpenForm1.main()
else:
    print("Le script AddBoutonOpenForm1-V2.py ne contient pas de fonction 'main'")

et le script appelé (AddBoutonOpenForm1) commence comme ceci

from qgis.core import *
from qgis.gui import *
from qgis.utils import iface
from qgis.PyQt.QtWidgets import QAction, QToolBar
from qgis.PyQt.QtGui import QIcon

from qgis.core import QgsMessageLog, Qgis

def main():
    QgsMessageLog.logMessage("Le script AddBoutonOpenForm1.py a été exécuté avec succès !", level=Qgis.Info)

if __name__ == "__main__":
    QgsMessageLog.logMessage("Exécution directe du script AddBoutonOpenForm1.py", level=Qgis.Info)


    main()
else:
    QgsMessageLog.logMessage("Importation du script AddBoutonOpenForm1.py", level=Qgis.Info)



le script AddBoutonOpenForm1 n'est pas chargé au démarrage de qgis, alors qu'il s'exécute correctement depuis la console
j'ai aussi ajouté dans mon environnement la variable PYQGIS_STARTUP qui pointe vers le fichier startup.py, sans succès

je n'ai aucun message dans le journal de qgis

je dirais que c'est un problème d'environnement, mais je n'arrive pas à le régler

merci pour vos suggestions

jean marc

Hors ligne

 

Pied de page des forums

Powered by FluxBB