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 :

Expand et taille des éléments


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut Expand et taille des éléments
    Bonjour,
    je suis un peu perdu, je crée des box, que j'insére dans une boite de dialogue, puis des frames, puis des gtkentry. A chaque fois je met le paramètre EXPAND à FALSE pour que mes gtkentry aient une taille spécifié par gtk_widget_set_size_request

    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
    18
    19
    20
    21
    22
     
    pAbout = gtk_dialog_new_with_buttons("Ajouter un nouveau site",GTK_WINDOW(pWindow),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,NULL);
     
    pHBox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pAbout)->vbox), pHBox, FALSE, FALSE, 0);
     
    pFrame = gtk_frame_new("");
    gtk_widget_set_size_request (pFrame,200,200);
    pLabel = create_label("<small><b>Informations générales</b></small>");
    gtk_frame_set_label_widget(GTK_FRAME(pFrame),pLabel);
    gtk_box_pack_start(GTK_BOX(pHBox), pFrame, FALSE, FALSE, 10);
     
    pVBoxFrame = gtk_vbox_new(FALSE, 10);
    gtk_container_add(GTK_CONTAINER(pFrame), pVBoxFrame);
     
    pLabel = create_label("<small>Nom : </small>");
    gtk_box_pack_start(GTK_BOX(pVBoxFrame), pLabel, TRUE, FALSE, 0);
    gtk_misc_set_alignment (GTK_MISC (pLabel), 0, 0);
    pEntrynom = gtk_entry_new();
    gtk_box_pack_start(GTK_BOX(pVBoxFrame), pEntrynom, FALSE, FALSE, 0);
    gtk_misc_set_alignment (GTK_MISC (pEntrynom), 0, 0);
    gtk_widget_set_size_request (pEntrynom,2,20);
    Voila par exemple ici je met mon widget pEntrynom avec une taille très petite en largeur : gtk_widget_set_size_request (pEntrynom,2,20); or une fois l'application lancé pEntrynom prend tout l'espace alloué à la frame.

    Je ne sais pas pourquoi. Si quelqu'un pouvait m'aider, merci.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 111
    Par défaut
    Citation Envoyé par flo_k Voir le message
    Bonjour,
    je suis un peu perdu, je crée des box, que j'insére dans une boite de dialogue, puis des frames, puis des gtkentry. A chaque fois je met le paramètre EXPAND à FALSE pour que mes gtkentry aient une taille spécifié par gtk_widget_set_size_request

    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
    18
    19
    20
    21
    22
     
    pAbout = gtk_dialog_new_with_buttons("Ajouter un nouveau site",GTK_WINDOW(pWindow),GTK_DIALOG_MODAL,GTK_STOCK_OK,GTK_RESPONSE_OK,GTK_STOCK_CANCEL,GTK_RESPONSE_CANCEL,NULL);
     
    pHBox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX(GTK_DIALOG(pAbout)->vbox), pHBox, FALSE, FALSE, 0);
     
    pFrame = gtk_frame_new("");
    gtk_widget_set_size_request (pFrame,200,200);
    pLabel = create_label("<small><b>Informations générales</b></small>");
    gtk_frame_set_label_widget(GTK_FRAME(pFrame),pLabel);
    gtk_box_pack_start(GTK_BOX(pHBox), pFrame, FALSE, FALSE, 10);
     
    pVBoxFrame = gtk_vbox_new(FALSE, 10);
    gtk_container_add(GTK_CONTAINER(pFrame), pVBoxFrame);
     
    pLabel = create_label("<small>Nom : </small>");
    gtk_box_pack_start(GTK_BOX(pVBoxFrame), pLabel, TRUE, FALSE, 0);
    gtk_misc_set_alignment (GTK_MISC (pLabel), 0, 0);
    pEntrynom = gtk_entry_new();
    gtk_box_pack_start(GTK_BOX(pVBoxFrame), pEntrynom, FALSE, FALSE, 0);
    gtk_misc_set_alignment (GTK_MISC (pEntrynom), 0, 0);
    gtk_widget_set_size_request (pEntrynom,2,20);
    Voila par exemple ici je met mon widget pEntrynom avec une taille très petite en largeur : gtk_widget_set_size_request (pEntrynom,2,20); or une fois l'application lancé pEntrynom prend tout l'espace alloué à la frame.

    Je ne sais pas pourquoi. Si quelqu'un pouvait m'aider, merci.
    Essai aussi de mettre le paramètre FILL à FALSE !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut
    Ou est ce que j'ai laissé un paramètre fill a true ?

    Et si expand est a false fill n'a pas d'effet de toutes facons.
    J'ai laissé un expand a TRUE mais je viens de modifier et ca ne change rien.
    Absolument tout est a FALSE et je n'arrive pas a donner une taille a mon champ d'entrée.

    J'arrive à modifier la hauteur mais pas la largeur.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    172
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 172
    Par défaut
    C'est normal... Les paramètres des Box ne servent à définir le placement des Widgets fils que dans le sens où ils sont arrangés.
    Dans l'autre sens, ils prennent toute la place attribuée à la box, quoi que tu fasses.
    C'que tu peux faire, c'est placer une HBox à l'endroit où tu veux mettre ton Entry et l'y insérer, mais il sera alors forcément aligné sur la gauche.

    Tu peux aussi utiliser les GtkTable, qui donnent une plus grande liberté dans le placement de tes Widgets

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 87
    Par défaut
    Merci kicker,
    en effet avec les tables c'est bien plus simple.

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

Discussions similaires

  1. Taille des éléments site web
    Par csik78 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 30/06/2012, 01h57
  2. Ecrire dans un fichier en fonction de la taille des éléments
    Par michel42 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/05/2012, 16h54
  3. [Exchange 2003] Taille des éléments d'une boîte aux lettres.
    Par Richard_35 dans le forum Exchange Server
    Réponses: 0
    Dernier message: 20/10/2010, 11h59
  4. Réponses: 13
    Dernier message: 18/08/2010, 10h52
  5. Réponses: 2
    Dernier message: 11/08/2010, 16h27

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