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 :

Erreur à la compilation ..


Sujet :

GTK+ avec C & C++

Vue hybride

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut Erreur à la compilation ..
    Bonjour à tous. Je voudrai juste savoir pourquoi ce code ne compile pas :

    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
    #include <stdlib.h>
    #include <stdio.h>
    #include <gtk/gtk.h>
     
    int main(int argc, char **argv)
    {
     
        GtkWidget* FenetrePrincipale = NULL;
        GtkWidget* label = NULL;
     
        char chaine[100];
     
     
        gtk_init(&argc, &argv);
     
     
        FenetrePrincipale = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        g_signal_connect(G_OBJECT(FenetrePrincipale), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
        gtk_window_set_default_size(GTK_WINDOW(FenetrePrincipale), 640, 480);
     
        gtk_window_set_title(GTK_WINDOW(FenetrePrincipale), "Ma première fenêtre en GTK+ :D");
     
        printf("Bonjour, rentrer une phrase : ");
        fgets(chaine, sizeof(chaine), stdin);
        label=gtk_label_new(chaine);
     
       /* L'erreur est à cette ligne */ 
       gtk_label_set_justify(label, GTK_JUSTIFY_LEFT);
     
     
        gtk_container_add(GTK_CONTAINER(FenetrePrincipale), label);
     
        gtk_widget_show_all(FenetrePrincipale);
        gtk_main();
     
        return EXIT_SUCCESS;
    }
    J'ai eu beau regarder la doc, les tutos rien y fait.

    Sinon mon compilateur est gcc et il me renvoie ça
    attention : passing argument 1 of ‘gtk_label_set_justify’ from incompatible pointer type

  2. #2
    Expert confirmé
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Par défaut
    En fait le premier argument est sensé être un GtkLabel *,un cast devrait résoudre le problème.

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Ok d'accord merci Mais au fait, si je veux par exemple mettre ce texte en haut à gauche, il y a une fonction pour faire ça ?

    ( Je suis pas encore bien familiarisé avec les docs )

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 32
    Par défaut
    Pour faire un cast propre de GtkLabel *, mieux vaut utiliser : GTK_LABEL(label)

    Sinon, pour mettre en haut à gauche, je ne connais qu'une seule solution :
    mettre un vbox ou un alignement.

    Voici comment faire avec une vbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    GtkWidget *vbox;
    vbox = gtk_vbox_new(FALSE,0);
     
    label=gtk_label_new(chaine);
    gtk_label_set_justify(label, GTK_JUSTIFY_LEFT);
     
    gtk_box_pack_start(GTK_BOX(vbox),label,FALSE,FALSE,0);
     
    gtk_widget_show(vbox);
     
    gtk_container_add(GTK_CONTAINER(FenetrePrincipale), vbox);

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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