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

Qt Discussion :

insérer un cadre a une QIcon d'une QAction


Sujet :

Qt

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut insérer un cadre a une QIcon d'une QAction
    Bonjour,

    J'ai une QToolBar qui ressemble un peu à celle de powerPoint. Elle contient des QAction représenté par des QIcon. Lorsque je clique sur une QAction, j'aimerai qu'un cadre vert apparait autour de l'icon.

    Comment ?

    Merci

  2. #2
    Membre très actif
    Avatar de FloMo
    Homme Profil pro
    Freelance iOS
    Inscrit en
    Juillet 2004
    Messages
    726
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Deux Sèvres (Poitou Charente)

    Informations professionnelles :
    Activité : Freelance iOS
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2004
    Messages : 726
    Par défaut
    Je pense que cela se passe au niveau de l'objet QIcon de ton QAction. Il faudrait utiliser, si cela correspond à ton besoin, les différents modes d'affichage disponibles.

    Sinon, tu peux toujours utiliser la fonction paintEvent() du QWidget.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Le but est d'insérer un cadre autour d'une QIcon. Je ne crois pas que paintEvent() aide dans ce cas.

  4. #4
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Comme là dit flomo, peut être qu'en jouant avec les estat de l'icone, tu peut faire cela.
    Regarde cette fonction
    http://qt.developpez.com/doc/latest/...html#addPixmap

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Salut,

    Au lieu de modifier l'icone, on peut créer un boutton QToolButton et lui associer la QAction voulue, et par la suite modifier la couleur du background du QToolButton.

    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
     
     
    //supposons que toolbar est déjà défini comme QToolbar 
     
    QAction *action = new QAction("",toolbar);
    QToolButton *button = new QToolButton(toolbar);
    button->setDefaultAction(action);
     
    QPalette buttonPalette = button->palette();	
    buttonPalette.setColor(QPalette::Normal , QPalette::Button , QColor(161, 213, 135));
    button->setPalette(buttonPalette);
     
    toolbar->addWidget(button);
     
    // refresh
    toolbar->setShown(false);
    toolbar->setShown(true);
    Est ce que quelqu'un sait pourquoi aucune couleur n'apparait ?

  6. #6
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Nehmé Voir le message
    Est ce que quelqu'un sait pourquoi aucune couleur n'apparait ?
    C'est un truc lié au style utilisé (surtout sous xp).
    Si tu veut changer la couleur de ton boutton, utilise plutôt les style sheet
    http://qt.developpez.com/doc/latest/...ng-qtoolbutton

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Merci Mongaulois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    button->setStyleSheet(("background-color: yellow"));

  8. #8
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Ce qui donne dans ton cas :

    Pour le tester rapidement, ouvre Qt Designer, fais un nouveau QMainWindow, puis cree une nouvelle action (Tools>Action Editor puis une nouvelle).
    Ensuite, clic droit sur le centre du QMainwindow et "Add ToolBar".
    Après, tu glisses la QAction crée vers la Tool Bar.
    Enfin, tu fais un clic droit sur le centre du QMainwindow > Change Style Sheet et tu colles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QToolButton:pressed {
    border: 2px solid #00ff00;
     }
    Voilà, j'ai testé ça marche

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Citation Envoyé par Kestufou Voir le message
    Ce qui donne dans ton cas :

    Pour le tester rapidement, ouvre Qt Designer, fais un nouveau QMainWindow, puis cree une nouvelle action (Tools>Action Editor puis une nouvelle).
    Ensuite, clic droit sur le centre du QMainwindow et "Add ToolBar".
    Après, tu glisses la QAction crée vers la Tool Bar.
    Enfin, tu fais un clic droit sur le centre du QMainwindow > Change Style Sheet et tu colles :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QToolButton:pressed {
    border: 2px solid #00ff00;
     }
    Voilà, j'ai testé ça marche
    Merci Kestufou

    Le problème avec ta méthode c'est qu'elle sera appliquée à toutes les toolbars du MainWindow.
    En regardant dans Qt Designer, j'ai vu qu'il suffit de selectionner la toolbar que tu veux et modifier les styleSheet dans le property Editor.

  10. #10
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Citation Envoyé par Nehmé Voir le message
    Le problème avec ta méthode c'est qu'elle sera appliquée à toutes les toolbars du MainWindow.
    Tu peut aussi utiliser un nom pour qu'il soit appliqué que sur les QToolButton portant ce nom.

  11. #11
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    oui, sauf si tu crée tes buttons dynamiquement.

    QToolButton:pressed {
    border: 2px solid #00ff00;
    }

    t'as un lien pour les couleurs et les type de signaux ?

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    248
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Canada

    Informations forums :
    Inscription : Septembre 2008
    Messages : 248
    Par défaut
    Citation Envoyé par Mongaulois Voir le message
    C'est un truc lié au style utilisé (surtout sous xp).
    Si tu veut changer la couleur de ton boutton, utilise plutôt les style sheet
    http://qt.developpez.com/doc/latest/...ng-qtoolbutton
    oui il me l'a dejà donné

  13. #13
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    Le problème avec ta méthode c'est qu'elle sera appliquée à toutes les toolbars du MainWindow.
    En regardant dans Qt Designer, j'ai vu qu'il suffit de selectionner la toolbar que tu veux et modifier les styleSheet dans le property Editor.
    Oui, mais comme pour le web, tu peux specifier l'application du style aux éléments que tu veux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    QToolButton#nom_element_cible:pressed {
    border: 2px solid #00ff00;
     }

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  4. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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