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

PyQt Python Discussion :

Créer des labels (labels, images, boutons) ? [QtGui]


Sujet :

PyQt Python

  1. #1
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut Créer des labels (labels, images, boutons) ?
    Rebonjour , je cherche à créer un damier d'images cliquables pour cela j'ai commencer par essayer de faire un Label (Image + Boutton) . Voici ce que cela donne :



    avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      def initButton(self,img):  
            self.ImageButton = QtGui.QLabel(self.plateau.parent)
            self.ImageButton.setPixmap(QtGui.QPixmap(img))
            (1)self.ImageButton.heightForWidth(60) 
            self.plateau.parent.canM.addWidget(self.ImageButton)
    Sachant que la classe dont est issu cette méthode n'hérite d'aucune classe de Qt . J'ai essayé plein de choses pour ajuster la hauteur :

    (1)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    self.ImageButton.heightForWidth(60) 
    self.ImageButton.setMaximumHeight(60)
    self.ImageButton.setGeometry(0,0,60,60)

    J'appel la methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.initButton(self.img)
    avec self.img une image au format .png


    Rien n'y fait Avez-vous une solution et peut-être une alternative plus adapté à la réalisation de mon objectif , mon objectif final est de créer un damier de 8*8 cases ayant pour chaque case (coordonnées) une image différente mais définie . Encore merci

  2. #2
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 304
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 304
    Par défaut
    Salut,

    Avec Qt il y a rarement de bonnes raisons d'imposer des dimensions aux widgets.

    Je suppose que chaque label est une case de ton damier, mets-les dans un QWidget ou QFrame, et utilise une sizePolicy sur ce container si tu désires que celui-ci soit carré, par exemple.

    Sélectionnes tous les labels, places-les dans un QGridLayout, puis avec le QGridLayout sélectionné, sélectionnes le container et mets ces deux ci dans un nouveau layout, vertical ou horizontal c'est pareil.

    Je sais que c'est tentant d'imposer les dimensions des widgets mais c'est contraire au principe de redimensionnement dynamique qui constitue un des grands atouts de Qt.

    Tu peux faire des labels cliquables, bien sur, mais tu peux aussi utiliser des QPushButton avec une image sans que le cadre du bouton n'apparaisse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            icon = QtGui.QIcon()
            icon.addPixmap(QtGui.QPixmap("monIcone.png"), 
                                    QtGui.QIcon.Normal, QtGui.QIcon.Off)
            self.monBouton.setIcon(icon)
            selfmonBouton.setIconSize(QtCore.QSize(48, 48))
            self.monBouton.setFlat(True)
    Ca ne marche pas avec des QToolButton dont le cadre reste apparent.

  3. #3
    Membre confirmé
    Avatar de moithibault
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Juin 2009
    Messages : 124
    Par défaut
    Super ! Merci beaucoup de votre aide .

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

Discussions similaires

  1. [Débutant] impossible de créer des evenement pour mes boutons sur une page asp
    Par Msysteme dans le forum ASP.NET
    Réponses: 2
    Dernier message: 02/05/2014, 13h27
  2. image + label sur un bouton
    Par kango dans le forum wxPython
    Réponses: 1
    Dernier message: 07/07/2008, 09h39
  3. Créer des labels à partir du code
    Par Syrrus dans le forum VBA Access
    Réponses: 5
    Dernier message: 05/11/2007, 15h24
  4. Mettre une image (png) ET un label sur une BOUTON
    Par diophantes dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 26/02/2007, 11h05

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