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 :

Adaptation du label à la taille du widget


Sujet :

GTK+ avec C & C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut Adaptation du label à la taille du widget
    Bonjour,

    J'ai un label dont le texte est une "longue" ligne. Lorsque je lance mon programme, cela agrandit donc ma fenêtre. Pour palier à ce problème, j'ai utiliser
    "gtk_widget_set_size_request()" cependant, cela "coupe" mon texte.

    Ce que je souhaite, c'est un retour à la ligne automatique lorsque l'on atteint le bord du cadre du widget (et un scrollbar verticale, que j'ajouterais après).
    Est-ce possible avec GTK ?

    Merci, Romz34

  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
    Regarde la documentation de gtk_label_set_line_wrap. Mais il y a certaines limitations dans GTK2 au niveau des labels, qui ont été corrigées dans GTK3 avec le width-for-height (qui calcul la longueur optimale de la ligne d'après la hauteur disponible). Si ton texte est très long, un GtkEntry en lecture seule aura sans doute de meilleurs résultats.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Merci. Je vais tester ça.

    Par contre, je n'ai pas bien compris pourquoi un GTK entry en lecture seul serait mieux qu'un label (c'est quand même son rôle d'afficher du texte ^^).

    Sinon, je pourrait peut-être passer à GTK 3 ... (mais il y a peu de tuto apparament :/).


    EDIT : ça ne marche pas pour moi ... voici la syntaxe que j'ai mis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    lAdn = gtk_label_new("aucgucuaucugaatcggcgccaugugcugaucgaucgacuauaucugacgac");
     
    gtk_widget_set_size_request(GTK_LABEL(lAdn), 550, -1);
    gtk_label_set_line_wrap(GTK_LABEL(lAdn), TRUE);

    Le tout est dans une vBox ...
    ça coupe mon texte, mais ça ne le fait pas continuer à la ligne suivante.

  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
    Si tu mets un seul mot long, c'est un peu logique, le découpage se faisant entre chaque mot... Si tu écris une prhrase, elle devrait être coupée correctement.

    Pour le GtkLabel, c'est surtout fait pour afficher quelques informations sur une ligne en général, et pas trop faire du multi-lignes avec un très long texte, car ce fonctionnement est notoirement bogué dans GTK2. GtkEntry gèrera mieux le multi-lignes.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Arf, effectivement pour le coup du mot ... du coup, il faudrait que j'appelle une fonction qui découpe ce mot (je compte le nombre de caractère par ligne, et met un retour à la ligne ...). C'est dommage que la fonction ne découpe pas le mot :/.

    Merci.

  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
    GtkLabel — A widget that displays a small to medium amount of text
    Si tu as besoin de plus, utilise un GtkEntry multi-lignes, comme je te l'ai indiqué plus haut, quitte à le mettre en lecture seule. Rajouter toi même tes propres retours chariots ne rime à rien, ça pètera dès que tu redimensionneras la fenêtre.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Je suis en train d'essayer de mettre un entry multiline (textview).

    Par contre, je rencontre quelques soucis pour la mise en place du scroll bar.
    Voila le code :

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
     
    int main(int argc,char **argv)
    {
        GtkWidget *MainWindow; // Fenêtre principale
        GtkWidget *lNom, *lNotes, *lAdn, *lSeq; // labels
        GtkWidget *menuBar, *menu, *menuItem; // menu
        GtkWidget *vbMain, *hbMain, *vbSub1, *vbSub2, *vbDecoSub1; // Boxs
        GtkWidget *toolBar; // Barre de menu
        GtkWidget *fSub1; // Décorations
        GtkWidget *bAdn, *tvAdn; // Buffer ADN et Text view
        GtkWidget *scAdn; // Scroll tvAdn
     
        gtk_init(&argc,&argv);  // Initialisation de GTK
     
        /* ********* FENETRE PRINCIPALE ************ */
     
        MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);  // Création de la fenêtre principale
        gtk_window_set_title(GTK_WINDOW(MainWindow),"Cbio");  // Titre de la fenêtre
        gtk_window_set_position(GTK_WINDOW(MainWindow),GTK_WIN_POS_CENTER);  // positionne la fenêtre au centre de l'ecran;
        gtk_window_set_default_size(GTK_WINDOW(MainWindow), 800, 600);  // Définit la taille de la fênetre
     
     
        /* ********* INITIALISATION DES WIDGETS ********** */
     
        // MENU
        menuBar = gtk_menu_bar_new();
     
        // BARRE DE MENU
        toolBar = gtk_toolbar_new();
     
        // DECO
            // vbDecoSub1 :
        fSub1 = gtk_frame_new("Infos");
     
        // LABELS
     
            // Nom séquence
        lNom = gtk_label_new("Nom : ");
        gtk_misc_set_alignment(GTK_MISC(lNom), 0, 0);
     
            // Notes séquence
        lNotes = gtk_label_new("Notes : ");
        gtk_misc_set_alignment(GTK_MISC(lNotes), 0, 0);
     
            // Séquence ADN
        lSeq = gtk_label_new(g_locale_to_utf8("Séquence ADN", -1, NULL, NULL, NULL));
        gtk_misc_set_alignment(GTK_MISC(lSeq), 0, 0);
     
        // TEXT VIEW LECTURE SEUL
     
            // Séquence d'ADN
        bAdn = gtk_text_buffer_new(NULL);
        gtk_text_buffer_set_text(GTK_TEXT_BUFFER(bAdn),"aucgucuaucugaatcggcgccaugugcugaucgaucgacuauaucugacgacuagc"
                                            "agcuagcuagcuagcaugcaugcaugcaucgaucgaucgaucgau\ncgaucgaucgau"
                                            "cgaucgacugacugacuaaucuauaucgaucgaucgaugaugcaucgaugcuaucua"
                                            "gcgacgaugcuagcugaucugacugacugacugaucgacugaucgaucgaucgaucg\na\na\na\nanna\na\n\n\n\n\n\na\naa\na\na\nana\na\na\na\na\na\na\na\na\na\na\na\na\na\na",
                                            -1);
     
        tvAdn = gtk_text_view_new_with_buffer(bAdn);
        gtk_widget_set_size_request(GTK_TEXT_VIEW(tvAdn), 550, 300);
     
        // SCROLLED
     
        scAdn = gtk_scrolled_window_new(NULL, NULL);
        gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scAdn), GTK_POLICY_ALWAYS, GTK_POLICY_ALWAYS);
        gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scAdn), tvAdn);
     
        /* ************* BOX ET CONTENEURS ************ */
     
        // Box main window
        vbMain = gtk_vbox_new(FALSE, 0); // Initialisation de la box principale. Param => Homogene, espace entre widget
        gtk_container_add(GTK_CONTAINER(MainWindow), vbMain);
     
        hbMain = gtk_hbox_new(FALSE, 0);  // Initialisation de la hBox principale
     
        vbSub1 = gtk_vbox_new(FALSE, 0);
        gtk_widget_set_size_request(GTK_BOX(vbSub1), 160, -1); // taille de la box
     
        vbSub2 = gtk_vbox_new(FALSE, 0);
        gtk_widget_set_size_request(GTK_BOX(vbSub2), 640, -1);
     
        // Box déco
        vbDecoSub1 = gtk_vbox_new(FALSE, 0);
        gtk_container_add(GTK_CONTAINER(fSub1), vbDecoSub1);
     
     
        /* ************ CREATION MENUS  *********** */
     
             /* MENU CBIO */
     
        menu = gtk_menu_new();  // creation du menu
     
        // Sous-menu
     
        menuItem = gtk_menu_item_new_with_label("A propos de Cbio ");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_separator_menu_item_new();  // Separateur
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_menu_item_new_with_label(g_locale_to_utf8("Préférences ", -1, NULL, NULL, NULL));
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_QUIT, NULL);
        g_signal_connect(G_OBJECT(menuItem), "activate", G_CALLBACK(gtk_main_quit), (GtkWindow*)MainWindow);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        // Fin sous-menus
     
        menuItem = gtk_menu_item_new_with_label("Cbio ");  // Création de l'item menu
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem), menu); // Association de sous-menu a l'item
        gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuItem); // Association de l'item à la menuBar
     
     
     
             /* MENU FICHIER */
     
        menu = gtk_menu_new();  // creation du menu
     
        // Sous-menu
     
        menuItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_NEW, NULL);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_OPEN, NULL);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_SAVE, NULL);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_image_menu_item_new_from_stock(GTK_STOCK_CLOSE, NULL);
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        // Fin sous-menus
     
        menuItem = gtk_menu_item_new_with_label("Fichier ");  // Création de l'item menu
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem), menu); // Association de sous-menu a l'item
        gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuItem); // Association de l'item à la menuBar
     
     
     
             /* MENU EDITION */
     
        menu = gtk_menu_new();  // creation du menu
     
        // Sous-menu
     
        menuItem = gtk_menu_item_new_with_label("Copier ");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        // Fin sous-menus
     
        menuItem = gtk_menu_item_new_with_label("Editions ");  // Création de l'item menu
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem), menu); // Association de sous-menu a l'item
        gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuItem); // Association de l'item à la menuBar
     
     
     
             /* MENU OPERATIONS */
     
        menu = gtk_menu_new();  // creation du menu
     
        // Sous-menu
     
        menuItem = gtk_menu_item_new_with_label(g_locale_to_utf8("Séquence acide aminée ", -1, NULL, NULL, NULL));
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_separator_menu_item_new();  // Separateur
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_menu_item_new_with_label("ORF (cadre de lecture)");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        menuItem = gtk_menu_item_new_with_label("Courbe d'hydrophobie ");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
     
        // Fin sous-menus
     
        menuItem = gtk_menu_item_new_with_label(g_locale_to_utf8("Opérations ", -1, NULL, NULL, NULL));  // Création de l'item menu
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem), menu); // Association de sous-menu a l'item
        gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuItem); // Association de l'item à la menuBar
     
     
     
             /* MENU AIDE */
     
        menu = gtk_menu_new();  // creation du menu
     
        // Sous-menu
     
        menuItem = gtk_menu_item_new_with_label("Comment se servir de Cbio ? ");
        gtk_menu_shell_append(GTK_MENU_SHELL(menu), menuItem);
     
        // Fin sous-menus
     
        menuItem = gtk_menu_item_new_with_label("? ");  // Création de l'item menu
        gtk_menu_item_set_submenu(GTK_MENU_ITEM(menuItem), menu); // Association de sous-menu a l'item
        gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), menuItem); // Association de l'item à la menuBar
     
     
        /* *********** BARRE D'OUTIL ********** */
     
     
        // Creation à partir des stocks
     
        gtk_toolbar_insert_stock(GTK_TOOLBAR(toolBar), GTK_STOCK_NEW, "Nouveau", NULL, NULL, NULL, -1);
        gtk_toolbar_insert_stock(GTK_TOOLBAR(toolBar), GTK_STOCK_OPEN, "Ouvrir", NULL, NULL, NULL, -1);
        gtk_toolbar_insert_stock(GTK_TOOLBAR(toolBar), GTK_STOCK_SAVE, "Enregistrer", NULL, NULL, NULL, -1);
        gtk_toolbar_insert_stock(GTK_TOOLBAR(toolBar), GTK_STOCK_CLOSE, "Fermer", NULL, NULL, NULL, -1);
     
        gtk_toolbar_append_space(GTK_TOOLBAR(toolBar)); // barre verticale
     
        // Taille des icones
     
        gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolBar), GTK_ICON_SIZE_BUTTON);
     
        // Affiche que icone (enleve texte)
        gtk_toolbar_set_style(GTK_TOOLBAR(toolBar), GTK_TOOLBAR_ICONS);
     
     
     
        /* ********* AFFICHAGE ********** */
     
        // vbMain
     
        gtk_box_pack_start(GTK_BOX(vbMain), menuBar, FALSE, FALSE, 0);  // Affichage barre de menu
        gtk_box_pack_start(GTK_BOX(vbMain), toolBar, FALSE, FALSE, 0); // Affichage barre d'outils
        gtk_box_pack_start(GTK_BOX(vbMain), hbMain, FALSE, FALSE, 10); // Insertion hbMain dans vbMain
     
        // hbMain
     
        gtk_box_pack_start(GTK_BOX(hbMain), vbSub1, FALSE, FALSE, 15);  //Insertion sub1 dans hbmain
        gtk_box_pack_start(GTK_BOX(hbMain), vbSub2, FALSE, FALSE, 15); // Insertion sub2
     
        //vbSub1
     
        gtk_box_pack_start(GTK_BOX(vbSub1), fSub1, FALSE, FALSE, 5);
        gtk_box_pack_start(GTK_BOX(vbSub1), lNom, FALSE, FALSE, 5); // Affichage du nom
        gtk_box_pack_start(GTK_BOX(vbSub1), lNotes, FALSE, FALSE, 5); // Affichage notes
     
        //vbDecoSub1
     
        gtk_box_pack_start(GTK_BOX(vbDecoSub1), lNom, FALSE, FALSE, 5);
     
        // vbSub2
     
        gtk_box_pack_start(GTK_BOX(vbSub2), lSeq, FALSE, FALSE, 0); // Séquence ADN :
        gtk_box_pack_start(GTK_BOX(vbSub2), tvAdn, FALSE, FALSE, 5); // Affichage lAdn
     
        // Fenêtre principale
        gtk_widget_show_all(MainWindow);
     
     
        /* *********** SIGNAUX ************ */
     
        g_signal_connect(G_OBJECT(MainWindow), "delete-event", G_CALLBACK(gtk_main_quit), NULL); // croix rouge quitte
     
     
        gtk_main();
     
     
        return EXIT_SUCCESS;
    }


    Le text view fonctionne, jusqu'a ce que j'ajoute cette ligne :
    gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(scAdn), tvAdn);


    J'ai également un problème avec la décoration, le label ne veut pas s'afficher dans la déco, je ne comprend pas pourquoi.



    EDIT : Ok, j'ai résolu le problème (le premier). Il suffisait de mettre scAdn dans le gtk_box_pack_start, et non pas tvAdn , j'aurais du y penser plus tôt.

    Le second problème reste un mystère. :/

  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
    Étape n°1: fournir du code sans warnings. Le compilateur fait son boulot, tu n'as pas à ignorer les warnings qu'il te renvoie, et qui mettent en avant des problèmes potentiels. Ou alors c'est que tu compiles sans l'option -Wall qui active tous les warnings, et dans ce cas tu es un hérétique .

  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
    Autre conseil: plutôt que de créer ton interface à la main, utilise plutôt Glade et GtkBuilder pour designer ton interface. C'est beaucoup plus rapide et adaptable.

  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
    gtk_scrolled_window_add_with_viewport indique pourtant:

    Used to add children without native scrolling capabilities.
    Or, dans la description de GtkScrolledWindow:

    The scrolled window can work in two ways. Some widgets have native scrolling support; these widgets have "slots" for GtkAdjustment objects. [5] Widgets with native scroll support include GtkTreeView, GtkTextView, and GtkLayout.
    Du coup tu n'as pas besoin de scrollview...

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 7
    Par défaut
    Arf, merci pour le conseil. Je ne connaissais pas Glade, du coup, j'ai finis mon interface à la main .
    Mais bon, c'est peut-être plus formateur pour comprendre la mécanique interne de GTK.

    Vu que c'est un petit projet, je vais probablement le finir (j'ai déjà fait le plus gros), comme ça. Je testerais Glade pour mon projet suivant .

    En tout cas, merci beaucoup pour l'aide .

  12. #12
    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
    Citation Envoyé par Romz34 Voir le message
    Mais bon, c'est peut-être plus formateur pour comprendre la mécanique interne de GTK.
    Ça l'est. C'est pour ça que quasiment tous les tutoriels GTK t'indiquent comment créer une interface à la main. Sauf qu'à part pour une application simple ou un exemple, ou dans le cas d'une application qui modifie son interface de manière dynamique, on devrait toujours utiliser glade, qui offre plus de souplesse.

Discussions similaires

  1. adaptation du formulaire à la taille de l'écran
    Par Jeje_031 dans le forum VBA Access
    Réponses: 2
    Dernier message: 08/08/2008, 08h28
  2. Label intéligent : taille police
    Par kitue dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 16/05/2008, 19h16
  3. Adapter un cadre à la taille d'un texte
    Par Sebio dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/04/2007, 07h44
  4. Adapter la form à la taille d'une image
    Par escape dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 06/12/2006, 15h44

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