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
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
Le but est d'insérer un cadre autour d'une QIcon. Je ne crois pas que paintEvent() aide dans ce cas.
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
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.
Est ce que quelqu'un sait pourquoi aucune couleur n'apparait ?
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);
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
Merci Mongaulois
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 button->setStyleSheet(("background-color: yellow"));
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 :
Voilà, j'ai testé ça marche
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QToolButton:pressed { border: 2px solid #00ff00; }
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 ?
Oui, mais comme pour le web, tu peux specifier l'application du style aux éléments que tu veux.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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 QToolButton#nom_element_cible:pressed { border: 2px solid #00ff00; }
Partager