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 :

QPushButton et Icon non apparente


Sujet :

Qt

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Points : 26
    Points
    26
    Par défaut QPushButton et Icon non apparente
    Salut à tous.
    Another problem...

    Je crée mes boutons de manière classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        QSize iconSize(50,50);
        pause_Button = new QPushButton; //play/pause...
        pause_Button->setIcon(QIcon("../ressources/play.png"));
        pause_Button->setIconSize(iconSize);
    Je met ces mêmes boutons dans un QGridLayout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    QGridLayout *layout = new QGridLayout;
        layout->addWidget(renderTarget, 0, 0, 2, 3);
        layout->addWidget(timeLine, 2, 0, 1, 3);
        layout->addWidget(pause_Button, 3, 0);
        layout->addWidget(return_Button, 3, 1);
        layout->addWidget(fullscreen_Button, 3, 2);
        setLayout(layout);
    Les boutons se redimentionne comme il faut, mais je n'ai pas l'image/icon....
    Aurriez-vous une idée?
    Par avance merci.
    Iko

  2. #2
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Questions toutes bêtes:
    tu as essayé sans forcer la taille de ton icone? Est-tu sûr que le chemin est bon?

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    Salut Cayou66
    Pour le chemin, ben avec le ../ cela permet de travailler sur le path à partir du lieu où se trouve le binary. Donc mon chemin doit être correct.

    Par contre, tu parle de forcer la taille? Cela ne correspond pas à la commande setIconSize?
    Peux-tu m'en dire un peu plus?

  4. #4
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Je sais que j'ai toujours des problèmes lorsque je force une image/icone dans une autre dimension que celle qu'elle a. Enfin, ça pourrait venir de ça, sauf si ça correspond exactement (50x50 est la taille de play.png).
    The icon's default size is defined by the GUI style, but can be adjusted by setting the iconSize property.
    Ca m'a l'air d'être ok pour ce cas là.

    Une autre question, les boutons affichent-ils l'image sans le gridLayout?
    Pour être certain du chemin, tu peux utiliser un fichier ressource (qrc), qui d'ailleurs sera bien plus propre pour ton application.

  5. #5
    Membre averti
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Points : 333
    Points
    333
    Par défaut
    Tu peux utiliser setIconSize sans soucis (tant que tu n'agrandis pas l'image de base) pour redimensionner ton Icone, ou passer par un Pixmap dont tu définis la taille par un scaling.

    Penser que le chemin est bon ne suffit pas, vérifie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if(QFile::exists("../ressources/play.png"))
       qDebug() << "Chemin correct";
    else
       qDebug() << "Chemin incorrect";
    NB : Si tu lances l'application avec un IDE, il est parfois possible que le dossier relatif à l'application ne soit pas du tout celui que tu imagines ("projet/debug/" au lieu de "projet/" par exemple). QCoreApplication à une méthode pour vérifier ton chemin actuel. Passer par un fichier de ressources pâlie efficacement aux ambiguïtés.

    Tentes ensuite de ne pas les afficher dans le GridLayout, voir si les icônes apparaissent bien. Si c'est le cas, peut être que ton bouton redimensionné est trop petit (en hauteur sans doute) pour permettre l'affichage de l'icône. De mémoire il me semble que l'icône est quand même dessiné, elle est juste coupée.
    Un clavier Azerty en vaut deux.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    J'ai déjà fait d'autre gui avec des icon sur boutton, et le setIconSize redimensione correctement des 256*256 en 50*50...

    Je vais m'orienté dans un premier temps vers le path...on verra.
    (je pense que le qrc est une bonne chose, cependant faut que je lise plus de litérature quant à son emploie ^^)

  7. #7
    Membre averti
    Avatar de Niak74
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    271
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 271
    Points : 333
    Points
    333
    Par défaut
    C'est vraiment pas dur les ressources ^^.

    Essaye le bout de code que je t'ai donné pour voir l'existence de ton fichier, t'as juste à lire la trace en console.
    Un clavier Azerty en vaut deux.

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 39
    Points : 26
    Points
    26
    Par défaut
    Merci pour le bou de code...
    et effectivement j'ai un probleme de path ...

    Je vais faire un qrc pour faire les choses proprement ^^

    Merci pour votre aide

    note pour plus tard:
    ne pas oublier de faire #include pour QFile et QDebug

  9. #9
    Membre actif Avatar de cayou66
    Inscrit en
    Décembre 2008
    Messages
    286
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Décembre 2008
    Messages : 286
    Points : 273
    Points
    273
    Par défaut
    Il suffit dans ton .pro d'ajouter RESSOURCES += path\vers\mon\fichier\qrc
    De créer un fichier qrc. Alors avec QtCreator, tu as une interface graphique de gestion des fichiers ressources, qui est plutôt intuitive et pratique. Sinon, la syntaxe est simple derrière. Tu ajoutes tes ressources dedans, tu peux même faire des catégories (genre icones images...). Ensuite dans ton code tu te retrouves avec des chemins du genre: ":/images/monImage.png"

Discussions similaires

  1. [WD-2007] - Envoyer - Courrier électronique icone non active
    Par abalaton dans le forum Word
    Réponses: 6
    Dernier message: 10/01/2010, 11h45
  2. GroupIconFunction rend l icone non "draggable"
    Par Gaaaga dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 07/10/2009, 11h53
  3. Icone non visible d'un objet OLE
    Par lucazzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/06/2008, 15h22
  4. case non apparente dans un tableau
    Par manshoon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/05/2006, 12h16
  5. [ClassLoader]icones non visibles
    Par phil_ma dans le forum Général Java
    Réponses: 4
    Dernier message: 19/01/2005, 20h09

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