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 :

Changement de l'icone d'un QAction


Sujet :

PyQt Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut Changement de l'icone d'un QAction
    Bonsoir,

    j'ai vu qu'il était possible d'attribuer plusieurs pixmap à un QIcon afin de modifier l'icone en fonction de son état : https://doc.qt.io/qt-5.10/qtwidgets-...s-example.html

    Mais j'ai beau essayé, je n'y arrive pas, ça fonctionne pour un bouton mais pas pour les QAction ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    #!/usr/bin/python3 -u
    # -*- coding: utf-8 -*-
    import sys
    from PyQt5.QtGui import *
     
    from PyQt5.QtWidgets import *
     
    from PyQt5.QtCore import *
     
    class caca(QDialog):
        def __init__(self, parent=None):
            super(caca, self).__init__(parent)
     
            self.Icons = QIcon()
            Pix1 = QIcon.fromTheme("format-text-lowercase").pixmap(QSize(16,16))
            Pix2 = QIcon.fromTheme("dialog-cancel").pixmap(QSize(16,16))
            Pix3 = QIcon.fromTheme("dialog-ok").pixmap(QSize(16,16))
            Pix4 = QIcon.fromTheme("journal-new").pixmap(QSize(16,16))
            Pix5 = QIcon.fromTheme("view-refresh").pixmap(QSize(16,16))
            Pix6 = QIcon.fromTheme("edit-delete").pixmap(QSize(16,16))
            Pix7 = QIcon.fromTheme("edit-rename").pixmap(QSize(16,16))
            Pix8 = QIcon.fromTheme("journal-new").pixmap(QSize(16,16))
            #self.Icons.addPixmap(Pix1, QIcon.Selected, QIcon.On)
            #self.Icons.addPixmap(Pix2, QIcon.Disabled, QIcon.On)
            self.Icons.addPixmap(Pix3, QIcon.Active, QIcon.On)
            #self.Icons.addPixmap(Pix4, QIcon.Normal, QIcon.On)
            #self.Icons.addPixmap(Pix5, QIcon.Selected, QIcon.Off)
            #self.Icons.addPixmap(Pix6, QIcon.Disabled, QIcon.Off)
            self.Icons.addPixmap(Pix7, QIcon.Active, QIcon.Off)
            #self.Icons.addPixmap(Pix8, QIcon.Normal, QIcon.Off)
     
            self.IconAction = QAction()
            self.IconAction.setCheckable(True)
            self.IconAction.setIcon(self.Icons)
     
            self.lineEdit = QLineEdit(self)
            self.lineEdit.addAction(self.IconAction, QLineEdit.LeadingPosition)
     
            self.pushButton = QPushButton(self)
            self.pushButton.setCheckable(True)
            self.pushButton.setIcon(self.Icons)
     
            self.verticalLayout = QVBoxLayout(self)
            self.verticalLayout.addWidget(self.pushButton)
            self.verticalLayout.addWidget(self.lineEdit)
     
            self.show()
     
    app = QApplication(sys.argv)
    cacaClass = caca()
    cacaClass.setAttribute(Qt.WA_DeleteOnClose)
    app.exec()
    Ca vient de moi ou de Qt ou de pyQt ?

    Bonne nuit à vous.

    PS : Oui je peux le modifier via un setIcon lorsqu'on clique sur le QAction, mais je voulais essayé de n'utiliser que le QIcon :p

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2013
    Messages : 563
    Par défaut
    Il semble que ce ne soit pas possible de ce qu'on m'a répondu sur le forum us https://forum.qt.io/topic/88806/qico...of-a-qaction/3
    The icon is used in tool bar for the button generated from the action. However QAction has no visual representation in a QLineEdit.

Discussions similaires

  1. [WD12] Changement de l'icone de l'installation
    Par bruce207 dans le forum WinDev
    Réponses: 2
    Dernier message: 10/08/2009, 10h08
  2. pb lors de changement de l'icone de mon application
    Par foufoulina2007 dans le forum Interfaces Graphiques en Java
    Réponses: 3
    Dernier message: 04/09/2007, 08h27
  3. changement d'une icone dans un button
    Par Arnaud Malabeux dans le forum MFC
    Réponses: 7
    Dernier message: 16/05/2006, 12h40
  4. [JLabel] Changement de l'icon
    Par scifire dans le forum Composants
    Réponses: 5
    Dernier message: 18/07/2005, 14h31
  5. Changement de l'icone d'une appli sous kdevelop
    Par vedder dans le forum Linux
    Réponses: 3
    Dernier message: 06/02/2003, 14h16

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