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 :

Boite de dialogue QColorDialog avec du texte


Sujet :

PyQt Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Boite de dialogue QColorDialog avec du texte
    Bonjour,

    J'ai un bout de programme d'une vue graphique qui ne me donne pas les résultats attendu.
    J'affiche sur une vue un cercle jaune et un texte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            self.texte = scene.addText("Mon texte")
            self.texte.setPos(rectScene.x(),rectScene.y())
            self.texte.setDefaultTextColor(Qt.blue)
            scene.addItem(self.texte)
            cercJaune = scene.addEllipse(-30,-30,30,30,  brush=QBrush(Qt.yellow))
            cercJaune.setPos(rectScene.mapToScene(rectScene.rect().center()))
    Tout ce passe bien jusqu'à l'utilisation d'une boite QColorDialog avec le texte .
    QColorDialog est la boite de dialogue standard qui permet de sélectionner une couleur.
    Dans le principe, je sélectionne le cercle ou le texte et je clic sur un bouton qui déclenche l'ouverture de la dite QColorDialog.
    Avec le cercle sélectionné, je choisis une nouvelle couleur et le cercle change de couleur après validation .
    Avec le texte sélectionné, j'ai le message d'erreur "QGraphicsTextItem has no attribute brush" ; ce qui veux dire que les textes n'ont pas d'attribut brosse.
    Hors ils en ont un puisque brosse/brush est la couleur du coeur du texte.
    Quelqu'un aurait-il une piste à me donner ? Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
        @pyqtSlot()
        def on_pushButtonChangerCouleur_clicked(self):
            itemsSelectionnes = self.scene.selectedItems()
            couleurInit = itemsSelectionnes[0].brush().color()
            couleur = QColorDialog.getColor(couleurInit,self,'Couleur', QColorDialog.ShowAlphaChannel)
            if couleur.isValid():
                brosse = QBrush(couleur)
                for item in itemsSelectionnes:
                    item.setBrush(brosse)

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    172
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 172
    Points : 163
    Points
    163
    Par défaut
    Je ne connais pas QT, mais il semblerait que :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.texte.setDefaultTextColor(Qt.blue)
    Ton Qt.blue ne soit pas un "QBrush" mais un "QColor" d'où le fait que ça ne fonctionne pas....

    Par contre il est possible de faire un "SetBrush()" sur l'objet "QGraphicsSimpleTextItem", ce qui devrait résoudre ton probléme

    Un truc du genre, j'imagine... :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self.texte.setBrush(Qt.blue)
    Je ne peux malheureusement pas tester car je n'ai pas installé PyQT....

    PS : DOC DE LA CLASSE DE TEXTE

    J'espère que ma réponse te sera utile

Discussions similaires

  1. Réponses: 10
    Dernier message: 25/10/2007, 14h40
  2. afficher la boite de dialogue 'ouvrire' avec JavaScript
    Par salrouge dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 26/01/2007, 14h34
  3. [Boite de dialogue] n'affiche aucun texte
    Par Alexino2 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 15/12/2006, 12h35
  4. [JFrame] Boite de dialogue d'entrée de texte et bouton Cancel
    Par tooney dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 29/05/2005, 16h42
  5. Affichage d'une boite de dialogue nonmodale avec MFC
    Par the.cable.guy dans le forum Windows
    Réponses: 3
    Dernier message: 04/07/2003, 17h59

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