IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Ajouter une image sur une interface avec pyqt4.11 [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Par défaut Ajouter une image sur une interface avec pyqt4.11
    Bonjour,

    J' essai d'ajouter une image sur une interface que j'ai créée avec le bouton AjouterSource.Mais quand je clique sur le bouton AjouterSource l'image n'apparait pas.

    Voici la partie de mon code censée me permettre d'ajouter l'image

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.AddSource)
     
        def AddSource(self):
     
            pic = QtGui.QLabel(MainWindow)
            pic.setGeometry(100, 100, 50, 50)
            pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/generateur-courant-continu.png"))
    Merci

  2. #2
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Quelques idées:

    - dans "pic = QtGui.QLabel(MainWindow)", remplacer MainWindow par self

    - vérifier si l'adresse de l'image est bonne (afficher avec un print ou un QMessageBox: on a quelquefois des surprises...)

    - vérifier que la méthode "AddSource" est effectivement appelée (un print ou un QMessageBox)

    - vérifier que l'image n'est pas corrompue (= elle s'affiche avec un autre programme de l'OS)

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Par défaut
    Merci pour ta réponse .

    -Si je remplace MainWindows par self j'ai une erreur.
    -La 2eme et la 4eme idées que tu as proposé ont été vérifiées toujours rien.
    -Par contre je ne sais pas comment vérifier si ma méthode AddSource est effectivement appelée.

  4. #4
    Expert confirmé
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 486
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par FJunior Voir le message
    Si je remplace MainWindows par self j'ai une erreur.
    Bizarre. J'ai supposé une structure classique, dans laquelle la classe correspond à la fenêtre et hérite de QMainWindow. Dans ce cas, self représente bien le parent du QLabel. Si tu as une erreur, c'est que tu as une autre structure.

    Citation Envoyé par FJunior Voir le message
    Par contre je ne sais pas comment vérifier si ma méthode AddSource est effectivement appelée.
    Juste au début de la méthode, tu mets un "print" avec un message quelconque qui devrait s'afficher dans la console (si le programme a été lancé dans une console). Ou un QMessageBox qui affichera une petite fenêtre à l'écran avec une info quelconque ("bonjour!"?).

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Par défaut
    Oui mais chez moi la classe correspond à la fenêtre et hérite de Ui_MainWindow.
    j'ai testé avec le print la méthode AddSource est bien appelée mais toujours rien.

    Par contre quand je supprime cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    QtCore.QObject.connect(self.pushButton, QtCore.SIGNAL(_fromUtf8("clicked()")), self.AddSource)
    et la définition de ma méthode en laissant le contenu de ma méthode elle s'exécute bien et l'image est affichée.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2015
    Messages : 21
    Par défaut
    Re, j'ai enfin trouvé.

    il me manquait le show sur mon label dans ma fonction AddSource

    voici le bon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    def AddSourc(self):
     
            pic = QtGui.QLabel(MainWindow)
            pic.setGeometry(100, 100, 50, 50)
            pic.setPixmap(QtGui.QPixmap(os.getcwd() + "/G.png"))
            pic.show()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Manipulation d'images : intégrer une image dans une image
    Par noscollections dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2014, 11h51
  2. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  3. Recuperer une valeur dans une grille sur une image
    Par gwal21 dans le forum Images
    Réponses: 3
    Dernier message: 26/02/2011, 23h41
  4. afficher une image sur une image de fond
    Par vega95 dans le forum wxPython
    Réponses: 2
    Dernier message: 26/11/2008, 18h41
  5. [Image]charger une image sur une page HTML
    Par Malo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/07/2006, 18h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo