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 :

ajouter une bordure autour d'une gkt_hbox


Sujet :

GTK+

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 60
    Points : 36
    Points
    36
    Par défaut ajouter une bordure autour d'une gkt_hbox
    J'essaie de mettre une bordure autour d'une gtk_hbox. Mon IHM est divisée en 2 parties : une drawing aera en haut et en bas, une gtk_hbox composée de 6 labels. J'aimerais ajouter une bordure autour de la gtk_hbox. J'ai vu qu'il fallait inclure cette hbox dnas une gtk_frame et ajouter cette frame à la main_window. Mais ceci ne marche pas :

    voici le bout de code en question ( voir en gras ce que j'ai tenté de faire ) :

    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
    /*********************** Main Window ********************************/   
    
      main_window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
      gtk_window_set_title( GTK_WINDOW( main_window ), "WEBCAM - FPGA");
    
      g_signal_connect( G_OBJECT( main_window ), "destroy", G_CALLBACK (gtk_main_quit), NULL);
    
      /********************************************************************/
    
      /*********************** Label Widget *******************************/
    
      ptr_struct_GtkWidget->output_text=gtk_label_new("Output: ");
      ptr_struct_GtkWidget->output=gtk_label_new(output_current);
      gtk_label_set_justify(GTK_LABEL(ptr_struct_GtkWidget->output), GTK_JUSTIFY_CENTER);
    
      ptr_struct_GtkWidget->label_state=gtk_label_new("State :");
      ptr_struct_GtkWidget->label_current_state=gtk_label_new(char_current_state);
      gtk_widget_set_size_request(ptr_struct_GtkWidget->label_current_state,100,20);   
      gtk_label_set_justify(GTK_LABEL(ptr_struct_GtkWidget->label_current_state), GTK_JUSTIFY_CENTER);
    
      ptr_struct_GtkWidget->clock=gtk_button_new_with_label("Clock");
      ptr_struct_GtkWidget->reset=gtk_button_new_with_label("Reset");
      ptr_struct_GtkWidget->light=gtk_toggle_button_new_with_label("Light");
      ptr_struct_GtkWidget->noise=gtk_toggle_button_new_with_label("Noise");   
    
    
      /********************************************************************/
    
      /* Create a Fixed Container */
      fixed_output_text = gtk_fixed_new();
      fixed_output = gtk_fixed_new();
      fixed_state_text = gtk_fixed_new();  
      fixed_state = gtk_fixed_new();    
      fixed_clock = gtk_fixed_new();      
      fixed_light = gtk_fixed_new();        
      fixed_noise = gtk_fixed_new();          
      fixed_reset = gtk_fixed_new();        
    
      /*********************** Webcam Widget ******************************/      
    
      ptr_struct_GtkWidget->drawing_area = gtk_drawing_area_new();
      gtk_widget_set_size_request( ptr_struct_GtkWidget->drawing_area, opencvImage->width, opencvImage->height );
    
      /********************************************************************/
    
      g_signal_connect( G_OBJECT( ptr_struct_GtkWidget->drawing_area), "expose_event", G_CALLBACK (expose_event_callback), NULL);
      g_timeout_add( 100, ( GSourceFunc )time_handler, ( gpointer ) ptr_struct_GtkWidget->drawing_area );
    
      // Add webcam window 
      vbox = gtk_vbox_new (FALSE, 5);
      gtk_box_pack_start (GTK_BOX (vbox), ptr_struct_GtkWidget->drawing_area, expand, fill, padding);     
    
      // Add dialog window  
      dialog = gtk_hbox_new (FALSE, 5);  
    
      gtk_fixed_put(GTK_FIXED (fixed_output_text), ptr_struct_GtkWidget->output_text, 5,5);
      gtk_fixed_put(GTK_FIXED (fixed_output), ptr_struct_GtkWidget->output, 6,5);   
    
      gtk_fixed_put (GTK_FIXED (fixed_state_text), ptr_struct_GtkWidget->label_state, 7,5);            
      gtk_fixed_put (GTK_FIXED (fixed_state), ptr_struct_GtkWidget->label_current_state, 8,5);               
    
      gtk_fixed_put (GTK_FIXED (fixed_clock), ptr_struct_GtkWidget->clock, 30,0);
      gtk_fixed_put (GTK_FIXED (fixed_light), ptr_struct_GtkWidget->light, 31,0);   
    
      gtk_fixed_put (GTK_FIXED (fixed_noise), ptr_struct_GtkWidget->noise, 32,0);             
      gtk_fixed_put (GTK_FIXED (fixed_reset), ptr_struct_GtkWidget->reset, 33,0);                   
    
      gtk_container_add(GTK_CONTAINER( dialog), fixed_output_text);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_output);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_state_text);      
      gtk_container_add(GTK_CONTAINER( dialog), fixed_state);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_clock);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_light);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_noise);
      gtk_container_add(GTK_CONTAINER( dialog), fixed_reset);
    
      gtk_box_pack_start (GTK_BOX (vbox), dialog, expand, fill, padding);      
    
      // create frame 
      frame_dialog = gtk_frame_new(NULL);
    
      gtk_container_add( GTK_CONTAINER(frame_dialog), dialog);      
      gtk_container_add( GTK_CONTAINER(frame_dialog), vbox);        
      gtk_container_add( GTK_CONTAINER(main_window), frame_dialog);
    
    
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->clock), "pressed",  G_CALLBACK(input_signal),char_clock);      
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->clock), "released", G_CALLBACK(update_state),ptr_struct_GtkWidget);
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->clock), "released", G_CALLBACK(toggle_input_off),ptr_struct_GtkWidget->light);                  
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->clock), "released", G_CALLBACK(toggle_input_off),ptr_struct_GtkWidget->noise);                     
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->reset), "pressed", G_CALLBACK(input_signal),char_reset);         
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->reset), "released", G_CALLBACK(update_state),ptr_struct_GtkWidget);                  
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->reset), "released", G_CALLBACK(toggle_input_off),ptr_struct_GtkWidget->light);                  
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->reset), "released", G_CALLBACK(toggle_input_off),ptr_struct_GtkWidget->noise);                     
    
    
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->light), "toggled", G_CALLBACK(toggle_button_callback),char_light);         
      g_signal_connect(G_OBJECT(ptr_struct_GtkWidget->noise), "toggled", G_CALLBACK(toggle_button_callback),char_noise);         
    
      gtk_widget_show_all( main_window );
      gtk_main();
      cvReleaseCapture( &capture );
    
      return 0;
    }
    Quelqu'un pourrait me dire ce qui ne va pas ?

  2. #2
    Inactif  

    Homme Profil pro
    développeur Vala
    Inscrit en
    Février 2011
    Messages
    478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Cher (Centre)

    Informations professionnelles :
    Activité : développeur Vala
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2011
    Messages : 478
    Points : 3 700
    Points
    3 700
    Par défaut
    si c'est bien une bordure que tu veux, tu peux régler la marge entre la fenêtre et les widgets

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    GtkWidget *win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    /***/
    g_object_set (win, "margin", 30, NULL);
    (marquer un post résolu si vous êtes satisfait de la réponse )
    ma page launchpad https://launchpad.net/~inizan-yannick
    ma page github : https://github.com/inizan-yannick

  3. #3
    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
    Points : 2 002
    Points
    2 002
    Par défaut
    Depuis GTK 3, tu as gtk_widget_set_margin_[top|bottom|left|right]. Mais tu ne nous dis pas quelle version tu utilises...
    Documentation officielle GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels GTK+ 3:
    GTK en C, GTK en Python

    Tutoriels par l'exemple (platform-demos):
    GTK (tous langages)

Discussions similaires

  1. ajouter une bordure autour d'un rapport
    Par minooo dans le forum iReport
    Réponses: 1
    Dernier message: 02/05/2011, 11h00
  2. Comment afficher une bordure autour d'une listView ?
    Par titou624 dans le forum Composants graphiques
    Réponses: 5
    Dernier message: 06/01/2011, 12h54
  3. Réponses: 6
    Dernier message: 23/01/2009, 15h06
  4. Créer une bordure autour d'une image
    Par michaeljeru dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 1
    Dernier message: 09/05/2007, 10h41
  5. copie d'une table Y d'une base A vers une table X d'une base
    Par moneyboss dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 30/08/2005, 21h24

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