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+ Discussion :

Projet chasse au trésor


Sujet :

GTK+

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut Projet chasse au trésor
    Bonjour, je fais un projet d'un jeu de chasse au trésor et là je suis à la conception de ma fenêtre principale. Alors j'ai 4 boutons dont 3 dans une Hbox et 1 dans une Vbox. Je souhaite avoir une marge de 10 pixels d’une part entre les bords de la fenêtre et les boutons, d’autre part entre deux boutons consécutifs ( cette marge doit concerner uniquement ceux de la Hbox).

    Voici mon code source :

    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
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include <string.h>
    //Declaration des  fonctions
     
     
    //Déclaration variable globales
     
      //Fenetre principale
      GtkWidget* pFenetre = NULL;
     
      // Variables pour stocker les images
      GdkPixbuf* pixbuf1;
     
     
    int main(int argc, char** argv)
    {	
     
     
      // Initialisation de l'environnement gtk
      gtk_init(&argc, &argv);
     
      	GtkWidget* pBoutonRecommencer = NULL;
      	GtkWidget* pBouton1=NULL;
    	GtkWidget* pBouton2=NULL;
    	GtkWidget* pBouton3=NULL;
      	GtkWidget* pLabel=NULL;
     
        //  Creation d'une fenêtre
      pFenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     
        //Titre de la fenêtre
      	gtk_window_set_title(GTK_WINDOW(pFenetre), "Le jeu du trésor ");
      	// On modifie la taille de la fenetre
    	gtk_window_set_default_size(GTK_WINDOW (pFenetre), 200, 150);
    	// On interdit de modifier la taille
    	gtk_window_set_resizable (GTK_WINDOW (pFenetre), TRUE);
    	//On centre toujours la fenetre
    	gtk_window_set_position(GTK_WINDOW(pFenetre),GTK_WIN_POS_CENTER_ALWAYS);
     
      pLabel = gtk_label_new ("Choisissez un coffre !");
     
        // Declaration des boites
      GtkWidget* pVbox=NULL;
      GtkWidget* pHbox=NULL;
      GtkWidget* p_main_box = NULL;
     
       	 // Chargement des images
       	 GdkPixbuf * pb = gdk_pixbuf_new_from_file("coffreFerme.jpeg", NULL);
     	 if (pb==NULL) printf("Erreur en chargeant l'image coffreFerme.jpeg\n");
      	pixbuf1 = gdk_pixbuf_scale_simple(pb, 100, 100, GDK_INTERP_NEAREST);
     
     
      	 // Creation des quatre boutons 
      pBoutonRecommencer = gtk_button_new_with_label("Recommencer");
      pBouton1 = gtk_button_new();
      pBouton2 = gtk_button_new();
      pBouton3 = gtk_button_new();
     
      	  // Afiichage des images
     	 gtk_button_set_image(GTK_BUTTON(pBouton1),  gtk_image_new_from_pixbuf(pixbuf1));
     	 gtk_button_set_image(GTK_BUTTON(pBouton2),  gtk_image_new_from_pixbuf(pixbuf1));
     	 gtk_button_set_image(GTK_BUTTON(pBouton3),  gtk_image_new_from_pixbuf(pixbuf1));
     
     
      // Création des boites
      pVbox = gtk_vbox_new (FALSE, 1);
      pHbox = gtk_hbox_new (TRUE, 10);
      p_main_box = gtk_vbox_new (FALSE, 20);
     
     
     	//Ajoutons les quatre boutons et du label dans les boites
     	gtk_box_pack_start (GTK_BOX(pVbox), pLabel, FALSE, TRUE, 0);
     	gtk_box_pack_start (GTK_BOX(pVbox), pBoutonRecommencer, FALSE, TRUE, 0);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton1, TRUE, TRUE, 10);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton2, TRUE, TRUE, 10);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton3, TRUE, TRUE, 10);
     
     
     
      // Ajoutons les deux boites dans la boite principale et celle ci dans la fenetre
       gtk_container_add (GTK_CONTAINER(p_main_box), pVbox);
       gtk_container_add (GTK_CONTAINER(p_main_box), pHbox);
       gtk_container_add (GTK_CONTAINER(pFenetre), p_main_box);
     
     
      //  Affichage de la fenêtre
      gtk_widget_show_all(pFenetre);
     
    	// Fonction qui capte le signal de la petite croix pour fermer la fenetre
    	gtk_signal_connect(GTK_OBJECT(pFenetre), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
     
     
     
     
     gtk_main();
     
    return EXIT_SUCCESS;
    }

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut Projet chasse au trésor alignement bouton
    Bonjour, je fais un projet d'un jeu de chasse au trésor et là je suis à la conception de ma fenêtre principale. Alors j'ai 4 boutons dont 3 dans une Hbox et 1 dans une Vbox. Je souhaite avoir une marge de 10 pixels d’une part entre les bords de la fenêtre et les boutons, d’autre part entre deux boutons consécutifs ( cette marge doit concerner uniquement ceux de la Hbox).

    Voici mon code source :
    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
     
    #include <stdlib.h>
    #include <gtk/gtk.h>
    #include <string.h>
    //Declaration des  fonctions
     
     
    //Déclaration variable globales
     
      //Fenetre principale
      GtkWidget* pFenetre = NULL;
     
      // Variables pour stocker les images
      GdkPixbuf* pixbuf1;
     
     
    int main(int argc, char** argv)
    {	
     
     
      // Initialisation de l'environnement gtk
      gtk_init(&argc, &argv);
     
      	GtkWidget* pBoutonRecommencer = NULL;
      	GtkWidget* pBouton1=NULL;
    	GtkWidget* pBouton2=NULL;
    	GtkWidget* pBouton3=NULL;
      	GtkWidget* pLabel=NULL;
     
        //  Creation d'une fenêtre
      pFenetre = gtk_window_new(GTK_WINDOW_TOPLEVEL);
     
        //Titre de la fenêtre
      	gtk_window_set_title(GTK_WINDOW(pFenetre), "Le jeu du trésor ");
      	// On modifie la taille de la fenetre
    	gtk_window_set_default_size(GTK_WINDOW (pFenetre), 200, 150);
    	// On interdit de modifier la taille
    	gtk_window_set_resizable (GTK_WINDOW (pFenetre), TRUE);
    	//On centre toujours la fenetre
    	gtk_window_set_position(GTK_WINDOW(pFenetre),GTK_WIN_POS_CENTER_ALWAYS);
     
      pLabel = gtk_label_new ("Choisissez un coffre !");
     
        // Declaration des boites
      GtkWidget* pVbox=NULL;
      GtkWidget* pHbox=NULL;
      GtkWidget* p_main_box = NULL;
     
       	 // Chargement des images
       	 GdkPixbuf * pb = gdk_pixbuf_new_from_file("coffreFerme.jpeg", NULL);
     	 if (pb==NULL) printf("Erreur en chargeant l'image coffreFerme.jpeg\n");
      	pixbuf1 = gdk_pixbuf_scale_simple(pb, 100, 100, GDK_INTERP_NEAREST);
     
     
      	 // Creation des quatre boutons 
      pBoutonRecommencer = gtk_button_new_with_label("Recommencer");
      pBouton1 = gtk_button_new();
      pBouton2 = gtk_button_new();
      pBouton3 = gtk_button_new();
     
      	  // Afiichage des images
     	 gtk_button_set_image(GTK_BUTTON(pBouton1),  gtk_image_new_from_pixbuf(pixbuf1));
     	 gtk_button_set_image(GTK_BUTTON(pBouton2),  gtk_image_new_from_pixbuf(pixbuf1));
     	 gtk_button_set_image(GTK_BUTTON(pBouton3),  gtk_image_new_from_pixbuf(pixbuf1));
     
     
      // Création des boites
      pVbox = gtk_vbox_new (FALSE, 1);
      pHbox = gtk_hbox_new (TRUE, 10);
      p_main_box = gtk_vbox_new (FALSE, 20);
     
     
     	//Ajoutons les quatre boutons et du label dans les boites
     	gtk_box_pack_start (GTK_BOX(pVbox), pLabel, FALSE, TRUE, 0);
     	gtk_box_pack_start (GTK_BOX(pVbox), pBoutonRecommencer, FALSE, TRUE, 0);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton1, TRUE, TRUE, 10);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton2, TRUE, TRUE, 10);
     	gtk_box_pack_end (GTK_BOX(pHbox), pBouton3, TRUE, TRUE, 10);
     
     
     
      // Ajoutons les deux boites dans la boite principale et celle ci dans la fenetre
       gtk_container_add (GTK_CONTAINER(p_main_box), pVbox);
       gtk_container_add (GTK_CONTAINER(p_main_box), pHbox);
       gtk_container_add (GTK_CONTAINER(pFenetre), p_main_box);
     
     
      //  Affichage de la fenêtre
      gtk_widget_show_all(pFenetre);
     
    	// Fonction qui capte le signal de la petite croix pour fermer la fenetre
    	gtk_signal_connect(GTK_OBJECT(pFenetre), "destroy", G_CALLBACK(gtk_main_quit), NULL);
     
     
     
     
     
     gtk_main();
     
    return EXIT_SUCCESS;
    }

  3. #3
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    Bonjour.

    Avant d'aller plus avant ton code est orienté Gtk+2.0. Est-ce normal ?

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Excusez moi mais je n'ai pas compris votre question, pouvez vous m'expliquer en d'autres termes svp?

  5. #5
    Expert confirmé
    Avatar de gerald3d
    Homme Profil pro
    Conducteur de train
    Inscrit en
    Février 2008
    Messages
    2 315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Conducteur de train
    Secteur : Transports

    Informations forums :
    Inscription : Février 2008
    Messages : 2 315
    Billets dans le blog
    5
    Par défaut
    Plus directement tu utilises des fonctions qui n'existent plus dans Gtk+v3.0. J'en conclus que tu compiles avec la bibliothèque Gtk+v2.0. Ma question est la suivante : est-ce un choix volontaire de ta part ou bien tu ne sais pas trop comment faire et finalement c'est la version 2.0 que tu utilises parce qu'elle est installée par défaut sur ton système ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 15
    Par défaut
    Gtk+ est installé par défaut sur le sytème que j'utilise.

Discussions similaires

  1. IA pour une chasse au trésor
    Par redhotjoli dans le forum Intelligence artificielle
    Réponses: 6
    Dernier message: 22/01/2015, 18h42
  2. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  3. Réponses: 6
    Dernier message: 23/10/2007, 08h32
  4. Réponses: 6
    Dernier message: 21/06/2002, 14h48
  5. Les fichiers d'un projet
    Par Manolo dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/05/2002, 17h51

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