gtk Padding (Innenabstand) zwischen Widgets setzen?



  • Hallo,
    gibt es eine Möglichkeit den Wert Padding welcher unter anderem mit der Funktion gtk_box_pack_start gesetzt werden kann andersweitig zu setzen? Mein Problem ist nämlich das sobald ich gtk_box_pack_start anstatt gtk_container_add verwende mein alignment nicht mehr funktioniert -> scheint er dann irgendwie zu ignorieren.

    mfg.
    flo

    /* create vertical box */
      vbox1 = gtk_vbox_new (FALSE, 0);
      gtk_widget_show (vbox1);
      gtk_container_add (GTK_CONTAINER (window), vbox1);
    
      /* load background into vbox */
      background = create_pixmap (window, "logo.xpm");
      gtk_widget_show (background);
      gtk_box_pack_start (GTK_BOX (vbox1), background, TRUE, TRUE, 0);
    
      /* insert separator line */
      hseparator1 = gtk_hseparator_new ();
      gtk_widget_show (hseparator1);
      gtk_container_add (GTK_CONTAINER (vbox1), hseparator1);
    
      /* create horizontal box */
      hbox1 = gtk_hbox_new (FALSE,0);
      gtk_widget_show (hbox1);
      gtk_container_add (GTK_CONTAINER (vbox1), hbox1);
    
    /* config_button */
      /* create alignment */
      alignment_config = gtk_alignment_new (0, 0.5 , 0, 0);
      gtk_widget_show (alignment_config);
      gtk_container_add (GTK_CONTAINER (hbox1), alignment_config);
    /*  gtk_box_pack_start (GTK_BOX (hbox1), alignment_config, FALSE, FALSE, 10); */
    
      /* create config button */
      config_button = gtk_button_new();
      gtk_widget_show (config_button);
      gtk_container_add (GTK_CONTAINER (alignment_config), config_button);
      gtk_container_set_border_width (GTK_CONTAINER (config_button), 8);
    
      /* add alignment to our config button */
      config_button_align = gtk_alignment_new (0.5, 0.5, 0, 0);
      gtk_widget_show (config_button_align);
      gtk_container_add (GTK_CONTAINER (config_button), config_button_align);
      gtk_container_set_border_width (GTK_CONTAINER (config_button), 5);
    
      /* add horizontal box to our button */	
      config_button_hbox = gtk_hbox_new(FALSE,2);
      gtk_widget_show (config_button_hbox);
      gtk_container_add (GTK_CONTAINER (config_button_align), config_button_hbox);
    
      /* get preferences image */ 
      config_button_image = gtk_image_new_from_stock ("gtk-preferences",GTK_ICON_SIZE_BUTTON);
      gtk_widget_show (config_button_image);
      gtk_box_pack_start (GTK_BOX (config_button_hbox), config_button_image, FALSE, FALSE, 0);
    
      /* set font size x-large */
      config_button_label = gtk_label_new_with_mnemonic ("<span size=\"x-large\">Settings</span>");
      gtk_widget_show (config_button_label);
      gtk_box_pack_start (GTK_BOX (config_button_hbox), config_button_label, FALSE, FALSE, 0);
      gtk_label_set_use_markup (GTK_LABEL (config_button_label), TRUE);
    
    /* connect_button */
      /* create alignment */
      alignment_connect = gtk_alignment_new (1, 0.5, 0, 0); 
      gtk_widget_show (alignment_connect);
    /*  gtk_box_pack_start (GTK_BOX (hbox1), alignment_connect, FALSE, FALSE, 10); */
      gtk_container_add (GTK_CONTAINER (hbox1), alignment_connect);
    
      /* create connect button */
      connect_button = gtk_button_new();
      gtk_widget_show (connect_button);
      gtk_container_add (GTK_CONTAINER (alignment_connect), connect_button);
      gtk_container_set_border_width (GTK_CONTAINER (connect_button), 8);
    
      /* add alignment to our config button */
      connect_button_align = gtk_alignment_new (0.5, 0.5, 0, 0);
      gtk_widget_show (connect_button_align);
      gtk_container_add (GTK_CONTAINER (connect_button), connect_button_align);
      gtk_container_set_border_width (GTK_CONTAINER (connect_button), 5);
    
      /* add horizontal box to our button */	
      connect_button_hbox = gtk_hbox_new(FALSE,2);
      gtk_widget_show (connect_button_hbox);
      gtk_container_add (GTK_CONTAINER (connect_button_align), connect_button_hbox);
    
      /* get preferences image */ 
      connect_button_image = gtk_image_new_from_stock ("gtk-connect",GTK_ICON_SIZE_BUTTON);
      gtk_widget_show (connect_button_image);
      gtk_box_pack_start (GTK_BOX (connect_button_hbox), connect_button_image, FALSE, FALSE, 0);
    
      /* set font size x-large */
      connect_button_label = gtk_label_new_with_mnemonic ("<span size=\"x-large\">Connect</span>"); 
      gtk_widget_show (connect_button_label);
      gtk_box_pack_start (GTK_BOX (connect_button_hbox), connect_button_label, FALSE, FALSE, 0);
      gtk_label_set_use_markup (GTK_LABEL (connect_button_label), TRUE);
    


  • Du kannst das Padding von Boxen im Nachhinein über das Member "Padding" von GtkBox ändern.

    http://library.gnome.org/devel/gtk/unstable/GtkBox.html



  • Danke für deine schnelle Antwort. Hab das Padding mit gtk_box_set_child_packing (...GTK_PACK_END bzw. GTK_PACK_START) gesetzt.

    mfg.
    flo


Anmelden zum Antworten