[Qt] QPushButton

Voir le sujet précédent Voir le sujet suivant Aller en bas

[Qt] QPushButton

Message  dahico2002 le Lun 05 Oct 2009, 22:58

Je voulais savoir si on pouvait modifier l'arrière plan d'un QPushButton afin d'y placer une image ?

Merci

dahico2002

Nombre de messages : 62
Age : 32
Prénom : Malick
Date d'inscription : 13/12/2006

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  nvs le Mar 06 Oct 2009, 00:59

pas à ma connaissance...






_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  gquentin le Mar 06 Oct 2009, 09:54

Oui, on peut...il faut utiliser les feuilles de style...

Tu écris ton code CSS dans une QString et tu l'envoies en tant que feuille de style à ton bouton. Exemple :

Code:
#include <QApplication>
#include <QPushButton>
#include <QStyle>

int main(int argc, char *argv[])
{
 QApplication app(argc, argv);
 QPushButton monBouton("Mon beau bouton");
 QString monStyle = "QPushButton { background-image: url(':/logoesi-small.gif'); }";
 
 monBouton.setStyleSheet(monStyle);
 monBouton.show();

 return app.exec();
}

tu crées un fichier de ressources (par exemple "test.qrc") contenant :
Code:
<!DOCTYPE RCC><RCC version="1.0">
<qresource>
      <file>logoesi-small.gif</file>
</qresource>
</RCC>

Ceci va permettre d'inclure l'image dans ton exécutable. L'image doit être dans le répertoire du code source.

Tu lies le fichier de ressources dans ton .pro :
Code:
RESOURCES = test.qrc
tu compiles et tu obtiens (j'ai redimensionné la fenêtre mais l'idée est la) :


si tu veux généraliser le style à toute l'application :
Code:
app.setStyleSheet(monStyle);

Après, il te suffit d'adapter ta feuille de style selon tes besoins. Si tu n'as jamais fait de CSS, je pense que ceci est un bon tutorial pour commencer. Peut-être que d'autres personnes pourront te conseiller d'autres tutoriaux.

gquentin

Nombre de messages : 24
Age : 31
Prénom : Quentin
Statut : Ancien Industriel - Cuvée 2009
Localisation : Overijse
Date d'inscription : 14/10/2008

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  Gold le Mar 06 Oct 2009, 21:50

Comme j'ai expliqué à d'autres étudiants, Il ya plus simple... :

Code:


        QSize tai=size();
   setIcon(QPixmap(":\chemin de mon image dans qrc")); // comme Label
   setIconSize(tai); // car sinon l'icone est toute petite


et voila , pas besoin de passer par du CSS Razz

Gold

Nombre de messages : 163
Prénom : Alain
Statut : Etudiant
Date d'inscription : 29/12/2006

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  nvs le Mar 06 Oct 2009, 22:09

Gold a écrit:Comme j'ai expliqué à d'autres étudiants, Il ya plus simple... :

Code:


        QSize tai=size();
   setIcon(QPixmap(":\chemin de mon image dans qrc")); // comme Label
   setIconSize(tai); // car sinon l'icone est toute petite


et voila , pas besoin de passer par du CSS Razz
et pour être complet, les méthodes que tu appelles sont celles du QPushButton (voici par exemple la doc de setIcon) Smile










_________________

nvs

Nombre de messages : 5238
Age : 44
Prénom : Nicolas
Statut : prof
Localisation : bxl
Date d'inscription : 24/11/2005

http://nvansteenkiste.googlepages.com

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  Wark le Mar 06 Oct 2009, 22:57

Code:
QPushButton::QPushButton ( const QIcon & icon, const QString & text, QWidget * parent = 0 )

Même un constructeur qui le fait ! Razz

Wark

Nombre de messages : 682
Age : 29
Prénom : Cédric
Statut : Diplômé 2010
Localisation : Braine l'alleud
Date d'inscription : 04/02/2008

Revenir en haut Aller en bas

Re: [Qt] QPushButton

Message  Contenu sponsorisé Aujourd'hui à 14:29


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum