Bienvenue! Inscrivez-vous et rejoignez notre communauté :)
  • Login:

Bienvenue sur Forum SIG - Systèmes d'Information Géographique et Géomatique.

Bienvenue sur le forumSIG. S'il s'agit de votre première visite, assurez vous de faire une recherche préalable dans les FAQ SIG. Vous devez vous inscrire avant de pouvoir poster.

Affichage des résultats 1 à 4 sur 4
  1. #1

    Par défaut Formulaire personnalisé : Affichage d'une image

    Bonjour,

    Je travaille régulièrement sous QGis (version 2.8.2 Wien) depuis quelques années.
    Je développe régulièrement des applications Visual Studio et débute dans le développement de plugin Python appelés depuis QGis.

    Mon objectif actuel est le suivant :

    Afficher un formulaire personnalisé indiquant à l'utilisateur :
    • les champs de l'entité sélectionnée,
    • une image dont le chemin d'accès est un des champs de cette entité.


    Pour réaliser cet outil, j'ai commencé par effectuer les opérations suivantes :
    • Affichage des champs
      • Créer une interface à partir de QtDesigner,
      • Paramétrer la couche cartographique pour lui associer cette interface (via l'option "Mise en page de l'éditeur d'attribut, à partir du fichier .ui fourni"),
      • Tester son fonctionnement via l'option "Afficher le formulaire de l'entité" dans la fenêtre "Identifier les résultats" ==> RAS,

    • Affichage de l'image
      • Ajouter un label qui contiendra l'image souhaitée,
      • Créer une fonction nommée "initialisation" qui actualise ce label en fonction de l'entité sélectionnée, au chargement du formulaire,
      • Indiquer à Qgis l'emplacement de cette fonction (via l'option "Fonction d'initialisation Python", en précisant le nom du fichier la contenant ainsi que le nom de la fonction)
      • Et là, c'est le drame : ça ne marche pas ! Les champs continuent à s'afficher mais le label qui doit afficher l'image reste vide.


    Ci-dessous, le code de la dite fonction :

    from PyQt4 import QtCore, QtGui

    def initialisation(Dialog):

    pixmap = Qpixmap(chemin_complet.text)
    lbchemin_complet.setPixmap(pixmap)
    lbchemin_complet.show()

    ou "chemin_complet.text" contient l'emplacement exact de l'image que je souhaite afficher
    et lbchemin_complet un QLabel qui contiendra cette image.

    Le fichier d'interface se nomme : fPrincipal.ui,
    Le fichier contenant la fonction "initialisation" se nomme : test.py (nom temporaire).

    Ci-dessous, le paramétrage dans QGis :

    Cliquez sur l'image pour la voir en taille réelle 

Nom : 		formulaire.jpg 
Affichages :	24 
Taille :		37,0 Ko 
ID : 			8820

    PS : j'ai essayé d'inclure dans cette fonction l'affiche d'une message box, et elle ne s'affiche pas. J'en déduis que la fonction n'est pas appelée mais ça ne m'aide pas à trouver comment résoudre mon problème.
    Ci-dessous, le code ajouté pour la message box :
    mb = QMessageBox()
    mb.setText(u"Le referentiel a ete importe.")
    mb.setWindowTitle(u"Importation des donnees")
    mb.exec_()


    Un peu (beaucoup) d'aide serait la bienvenue pour me débloquer
    Merci d'avance,

    Cordialement,

  2. #2
    Chasseur de Bots
    Date d'inscription
    août 2011
    Localisation
    Paris > Strasbourg
    Emploi
    Chargé de mission SIG
    Âge
    33
    Messages
    1 383

    Par défaut Re : Formulaire personnalisé : Affichage d'une image

    Pour faire ce que tu souhaites (sauf si tu désires un design spécial avec des logos et autres fioritures), il faut sélectionner 'Conception par glisser / déposer'.
    Il faudra ensuite modifier l'outil d'édition du champs qui contient le chemin de la photo en 'photo' pour que QGIS génère une prévisualisation.

  3. #3

    Par défaut Re : Formulaire personnalisé : Affichage d'une image

    Bonjour,

    Merci pour ta réponse,

    Je viens de regarder cette option, ce type d'affichage semble parfait.

    J'ai réussi à afficher l'image via le mode "Conception par glisser/déposer" mais pas exactement comme tu me le disais.

    En changeant l'outil d'édition de champs en photo, le formulaire affiche une zone de texte mais pas de prévisualisation d'image.
    En testant les autres possibilités, j'ai réussi à afficher l'image en choisissant "Vue Web" plutôt que "Photo".

    Y-a-t-il une subtilité particulière avec l'option "photo" ?

    Merci

  4. #4

    Par défaut Re : Formulaire personnalisé : Affichage d'une image

    Bonjour et merci pour ta réponse,

    Elle m'a bien aidée.
    Je n'avais pas essayé cette méthode par glisser-déposer. Ça correspond parfaitement à ce que je souhaite.

    J'ai réussi à afficher l'image en modifiant l'outil d'édition de champs.
    Par contre, en le basculant en "Photo", ça ne marchait pas (juste une zone de texte avec l'emplacement de l'image). Je l'ai mis en "Vue Web" et ça fonctionne comme ça.

 

 

Discussions similaires

  1. [QGIS 2.x] Éditer un formulaire personnalisé
    Par Bruno dans le forum Assistance et Programmation
    Réponses: 0
    Dernier message: 25/02/2014, 14h54
  2. [QGIS 2.x] Formulaire de saisie personnalisé
    Par valdorant dans le forum Assistance et Programmation
    Réponses: 3
    Dernier message: 11/02/2014, 10h59
  3. [QGIS 2.x] Création d'un formulaire de saisie personnalisé
    Par achref_georex dans le forum Assistance et Programmation
    Réponses: 7
    Dernier message: 22/11/2013, 10h33
  4. [ArcGIS 9.x] Formulaire avec controle image
    Par macgiver dans le forum Programmation
    Réponses: 0
    Dernier message: 06/12/2012, 20h20
  5. [Jpeg] Ajout d'un champ personnalisé dans les propriétés d'un fichier image
    Par phelsuma dans le forum Assistance et Programmation
    Réponses: 8
    Dernier message: 22/03/2005, 18h56

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •