Partage
  • Partager sur Facebook
  • Partager sur Twitter

Création d'une interface à l'aide de GTK

    7 décembre 2019 à 14:46:21

    Bonjour , 

    je viens vers vous pour solliciter votre aide. J'ai un projet important à rendre pour demain et je me dois de réaliser une interface pour mon programme, en utilisant GTK. L'interface avec les boutons s'affichais correctement avant que j'essaye de mettre en place une fonction qui permet de charger l'explorateur de fichiers quand on clique sur un bouton. Je ne comprend pas du tout l'erreur et je ne sais pas comment faire du coup pour avoir mon explorateur qui s'affiche lorsque je clique par exemple sur le bouton numéro 2. 

    merci d'avance 

    #include <stdlib.h>
    #include <stdio.h>
    #include <gtk/gtk.h>
    
    
    
    
    int main(int argc, char **argv)
    {
    
        /*Variables*/ 
        GtkWidget * MainWindow = NULL;
        const gchar* Title;
        gint Largeur;
        gint Hauteur;
        gint posx;
        gint posy;
        GtkWidget* Label = NULL;
        gchar* TexteConverti = NULL;
        GtkWidget *zone;
        GtkWidget *pButton;
         GtkWidget *pButton2;
        GtkWidget *pButton3;
        GtkWidget *pButton4;
    
    
        /* Initialisation de GTK+ */
        gtk_init(&argc, &argv);
     
        /*Creation de la fenetre */
    
        MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_title(GTK_WINDOW(MainWindow), "Welcome to your O.C.R. ");
        /*definit le texte */
        TexteConverti = g_locale_to_utf8("<span face=\"Verdana\" foreground=\"#0000c4\" size=\"xx-large\"><b>Analyze your document</b></span>\n <span face=\"Verdana\" foreground=\"#73b5ff\" size=\"x-large\">Sideral Group</span>\n", -1, NULL, NULL, NULL);
    
        Label=gtk_label_new(TexteConverti);
        g_free(TexteConverti); // Libération de la mémoire
        /*type de balise utilisee*/
        gtk_label_set_use_markup(GTK_LABEL(Label), TRUE);
    
        /* centre le texte */
        gtk_label_set_justify(GTK_LABEL(Label), GTK_JUSTIFY_CENTER);
    
    
        /*cration du button*/
    
         pButton = gtk_button_new_with_label("More information");
    pButton2 = gtk_button_new_with_label("Add your document");
    
    
    pButton3 = gtk_button_new_with_label("Binarization");
    pButton2 = gtk_button_new_with_label("Detect the text");
    /*creation de la zone de texte */
        zone = gtk_fixed_new ();
         
        /* On ajoute la zone comme conteneur dans la fenêtre */
        gtk_container_add (GTK_CONTAINER (MainWindow), zone);
     
    
        /*add le label dans la fenetre */
    
    
        gtk_fixed_put (GTK_FIXED (zone), pButton, 600, 300);
        gtk_fixed_put (GTK_FIXED (zone), pButton2, 1020,700);
         gtk_fixed_put (GTK_FIXED (zone), pButton3, 700,1020);
         gtk_fixed_put (GTK_FIXED (zone), pButton4, 300,600);
        gtk_fixed_put (GTK_FIXED (zone), Label,700, 500); 
       /* gtk_container_add(GTK_CONTAINER(MainWindow), Label);
                                    
         gtk_container_add( GTK_CONTAINER( MainWindow), pButton);·*/ 
    
    
    
    
        gtk_window_set_default_size(GTK_WINDOW(MainWindow), 100, 40);
        gtk_window_set_position(GTK_WINDOW (MainWindow), GTK_WIN_POS_CENTER);
        /* BOUTTON???{
        GtkWidget *p_button = NULL;
    
        p_button = gtk_button_new_from_stock (GTK_STOCK_QUIT);
        gtk_container_add (GTK_CONTAINER (MainWindow), p_button);
        g_signal_connect (G_OBJECT (p_button), "clicked", G_CALLBACK (cb_quit), NULL);
    */
    
    
    
    
        /* gtk_window_resize(GTK_WINDOW(MainWindow), Largeur, Hauteur);*/
    
        /* Affichage */
    
        gtk_widget_show_all(MainWindow);
        g_signal_connect(G_OBJECT(MainWindow), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
        
        gtk_main();
        return EXIT_SUCCESS;
    
    
    }
    
    

    L'erreur, qui apparait lorsque je compile ,est la suivante GTK CRITICAL : gtk_style_provider_private_get_settings : assertion ' GTK_IS_STYLE_PROVIDER_PRIVATE(provider)' : failed

    accompagné d'un segfault 

    • Partager sur Facebook
    • Partager sur Twitter

    Création d'une interface à l'aide de GTK

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown