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 :

[GTK+] Allignement de label - Pango


Sujet :

GTK+ avec C & C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut [GTK+] Allignement de label - Pango
    Bonjour,
    Je fais une petite IHM avec GTK+ et j'ai un soucis tout simple.
    Dans une table j'ai plusieurs label et le texte dans ces label est centré, j'aimerais l'aligner à gauche.
    J'ai trouvé une fonction dans la lib Pango:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    pango_layout_set_alignment
    mais je ne sais pas comment lier le première argument (PangoLayout) avec mon label.

    Est ce que quelqu'un aurait un p'tit exemple de qq lignes?
    J'utilise: gtk_label_new pour créer mon label.
    et gtk_table_attach_defaults pour le mettre dans ma table

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Hé mais je crois que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    void gtk_label_set_justify (GtkLabel *label, GtkJustification? jtype);
    Pourrais répondre à ma question ^^
    Je test et je vous dis ça.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Ouef non...
    Ca n'a rien changé, pourtant en defauts on est bien en GTK_EXPAND | GTK_FILL
    Je n'ai vu aucun changement avec cette fonction...
    J'ai lu quelque part que c'était quand le texte avait plusieurs lignes, là j'en ai qu'une, voilà peut être pourquoi ça ne change rien.

  4. #4
    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
    gtk_label_set_justify change l'alignement des lignes les unes par rapport aux autres. Avec une seule ligne tu ne verras pas de différence. Ce que tu veux est indiqué dans l'aide de gtk_label_set_justify (il faut lire l'aide !), c'est gtk_misc_set_alignment...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Ta fonction est dans la branche "unstable" ça fait un peu peur...

    J'ai testé ça marche effectivement par contre mais ce n'est pas ce que je cherche exactement car j'ai des label de taille variable genre:
    "aaa" et "aaaaaaaaaaaaaaaaaaaaa" dans ma table et quand je met le même argument en X (par exemple 0.1) il ne les aligne pas de la même façon à gauche

    J'vais tenter faire avec en trafiquant les argument à moins que qq'un ait mieux!
    Merci

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Pour finir j'ai mis un alignement en X à 0 avec des espaces au début de chacun de mes label pour éviter que ça ne soit vraiment coller au bord de ma table,
    j'suis pas 100% satisfait niveau code, mais le rendu visuel est bien

  7. #7
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Voilà le lien pour la fonction dans la branche stable http://library.gnome.org/devel/gtk/s...-set-alignment (je sais pas ce que t'appelle exactement branche unstable).
    http://library.gnome.org/devel/gtk/s...Alignment.html peut peut être t'aider à faire ce uqe tu veux.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Merci pour tes liens!
    En cherchant gtk_misc_set_alignment sur google, j'étais tombé sur un topic qui me disait que cette fonction était instable (sans doute à l'époque...)

    Il y a moyen de faire ce que je veux avec cette fonction, c'est un peu moins souple et simple que ce que je pensais mais je vais faire avec.
    Merci à vous deux!

  9. #9
    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
    Qu'est-ce qui n'est pas souple ?
    gtk_misc_set_alignment prend des gfloat comme arguments d'alignement horizontal et vertical. En mettant xalign à 0.0, tu lui dis de le coller à gauche. Mais tu n'es pas obligé d'utiliser 0 ou 1, c'est un pourcentage qui définit une marge. On te dit juste que 0 aligne à gauche, et 1 aligne à droite (0,5 aligne au centre, c'est la valeur par défaut dans glade). Donc essaie 0.1 ou 0.2 jusqu'à trouver la valeur qui te convienne visuellement. Et enlève les espaces au début de tes labels.

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Le soucis c'est que j'ai plein de label et que leur taille varie entre eux et avec le temps.
    Donc si je veux mettre une marge de qq cm à gauche et que cette marge soit la même pour tous les labels, je suis [censuré] car si je met 0.1 pour chacun l'alignement dépend de la taille que le label prend dans ma table

    Aligné à X=0 et mettre trois espaces m'assurent que tous mes labels commencent bien au même endroit.

  11. #11
    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
    Alors aligne avec xalign = 0.0, et utilise gtk_misc_set_padding pour définir une marge fixe...

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Par défaut
    Très bonne idée
    Merci!

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

Discussions similaires

  1. [GTK+ 3][C] label centré + bouton qui s'affiche pas
    Par kripteks dans le forum GTK+ avec C & C++
    Réponses: 1
    Dernier message: 20/10/2014, 17h03
  2. [GTK] Comment faire défiler du texte dans un label ou autre container
    Par dupuyyann dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 24/02/2008, 23h25
  3. [Gtk#] Changer le Font d'un Label
    Par goddet dans le forum GTK+
    Réponses: 2
    Dernier message: 18/07/2007, 16h18
  4. Pango + Entry Gtk ??
    Par flow++ dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 07/06/2006, 15h18
  5. Erreur pango a cause du package GTK 2.9.8
    Par titor dans le forum GTK+
    Réponses: 5
    Dernier message: 07/01/2006, 19h58

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