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

GTK+ avec C & C++ Discussion :

Hauteur de boutons


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut Hauteur de boutons
    Bonjour

    Je me perfectionne en gtk en utilisant Code::blocks comme environnement. Code::Blocks propose un petit programme gtk dans les projets gtk fraîchement ouverts. Ce programme ouvre une fenêtre avec deux boutons. Ils sont l'un sur l'autre et d'une hauteur normale (à peine plus haute que les caractères).

    J'ai copié ce code dans mon programme ( http://troumad.org/OOo/perso.zip ), fichier tirage.c juste avant la ligne 500 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      button = gtk_button_new_from_stock (GTK_STOCK_SAVE); /*GTK_STOCK_DIALOG_INFO);*/
      g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (sauvegarde_perso), (gpointer) param_t);
      gtk_box_pack_start (GTK_BOX (vbox), button, FALSE ,FALSE, 0);
    J'ai beau trafiquer les paramètres , FALSE ,FALSE, 0) de la fin de gtk_box_pack_start, le bouton dispose toujours de 5 fois trop de hauteur. En fonction de ces paramètres, il prend toute la place ou en laisse des 4/5 !

    Comment faire pour avoir un bouton de taille normal ?

    nb : pour accéder à l'affichage des boutons [Jeu]->[tirage].
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Tu pourrais mettre une capture d'écran correspondant au code posté stp ? Y a pas de Makefile, et j'ai pas trop envie d'installer Code::Blocks juste pour tester... Merci.

  3. #3
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Ah, et n'utilise pas free sur un GError, mais g_error_free, sinon tu leakes les messages d'erreur.

  4. #4
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    J'ai fait la modification pour les error. Mais, ça veux dire quoi leakes ? Googles me donne rien

    Voici l'image :
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 7
    Par défaut
    Salut, je ne suis pas expert mais as tu essayé de mettre ton bouton dans un vboxbutton lui-même ensuite ajouté dans ton hbox?

  6. #6
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Ok, ça c'est le résultat actuel, et c'est quoi le résultat attendu, j'ai pas trop compris tes explications ?
    Est-ce que ton problème ne vient pas du fait que tu as appelé gtk_vbox_new avec le paramètre homogeneous à TRUE ?

    Pour le reste, je parlais de fuites mémoires (memory leaks). Un GError c'est une structure. Si tu détruis la structure avec free, le pointeur message n'est pas libéré, et tu as une fuite mémoire...

  7. #7
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Pourquoi devrais-je mettre mes boutons dans un hbox alors que le modèle ne le fait pas ?

    Et pour ce que j'aimerai :
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  8. #8
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Le screenshot de ce que tu aimerais ne donne aucune information sur la répartition puisque tu utilises la taille idéale du contrôle. Il faudrait avoir une fenêtre plus haute pour voir comment est distribuée la hauteur parmi les contrôles.

    On peut néanmoins en déduire que:
    • tes contrôles n'ont pas tous la même hauteur, donc gtk_vbox_new doit être appelé avec homogeneous=FALSE
    • si la fenêtre est plus haute que nécessaire, le surplus devrait être attribué à la zone contenant du texte: pour ce label, il faut donc appeler gtk_box_pack_start avec expand=TRUE. Pour tous les autres contrôles, expand=FALSE
    • gtk_box_pack_start doit être appelé avec fill=FALSE pour tous les boutons
    • pour ce qui est du label, je ne sais pas trop quelle valeur de fill utiliser, faut tester, le comportement mais normalement, il faudrait utiliser fill=TRUE

  9. #9
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Citation Envoyé par liberforce Voir le message
    tes contrôles n'ont pas tous la même hauteur, donc gtk_vbox_new doit être appelé avec homogeneous=FALSE
    Gagné !
    L'exemple que j'avais n'avit que des boutons, ils étaient donc de tailles égales.

    Je ne cherchais pas du tout vers la définition du vbox ! J'avais parcouru en large et en travers la défintion des boutons, mais il fallait chercher ailleurs.
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  10. #10
    Modérateur

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2009
    Messages
    1 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 395
    Par défaut
    Je te l'avais déjà signalé:

    Citation Envoyé par liberforce Voir le message
    Est-ce que ton problème ne vient pas du fait que tu as appelé gtk_vbox_new avec le paramètre homogeneous à TRUE ?
    Au passage, si tu veux examiner comment sont faites des interfaces existantes, j'ai vu GTK inspector qui a l'air sympa.

  11. #11
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 607
    Par défaut
    Citation Envoyé par liberforce Voir le message
    Je te l'avais déjà signalé:
    J'avais surtout vu la ligne d'avant et la ligne d'après ! J'avais shunté cette ligne

    Citation Envoyé par liberforce Voir le message
    Au passage, si tu veux examiner comment sont faites des interfaces existantes, j'ai vu GTK inspector qui a l'air sympa.
    Marche pas la vidéo chez moi
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

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

Discussions similaires

  1. Bouton de la même hauteur
    Par jameson dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 07/04/2014, 16h20
  2. Réduction de la hauteur d'un bouton
    Par surfeur2 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/07/2012, 16h16
  3. Décalage d'un pixel en hauteur sur un bouton
    Par jbrasselet dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 14/06/2011, 14h14
  4. Réponses: 4
    Dernier message: 26/08/2009, 18h20
  5. [HTML]Hauteur d'un bouton
    Par Mat_DZ dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 22/11/2006, 16h16

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