Anzeige:
Ergebnis 1 bis 3 von 3

Thema: GTK2: Probleme mit box_pack_start() etc

  1. #1
    Registrierter Benutzer Avatar von Trillian
    Registriert seit
    26.04.2001
    Beiträge
    180

    GTK2: Probleme mit box_pack_start() etc

    Hallo,
    ich arbeite nun schon länger mit GTK, aber ab und zu machen mir selbst grundlegende Sachen noch Probleme. Atm geht's ums ausrichten von Labels, Buttons etc.

    Vielleicht kann sich jemanden folgenden Code angucken und mir sagen, wie ich da z.b. die 2 Buttons links ausrichte und die Größe auf ein vernünftiges Maß reduzieren kann?
    Ist set_size_request() da die üblicherweise benutzte Methode?

    Code:
    gint main(gint argc, gchar **argv)
    {
    	GtkWidget	*window;
    	GtkWidget	*vbox;
    	GtkWidget	*box;
    	GtkWidget	*frame;
    	GtkWidget	*label;
    	gchar		*buf;
    	GtkWidget	*btn;
    	gint		i;
    	
    	gtk_init(&argc, &argv);
    
    	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
            gtk_container_set_border_width(GTK_CONTAINER(window), 5);
            gtk_window_set_default_size(GTK_WINDOW(window), 640, 480);
        
            vbox = gtk_vbox_new(FALSE, 0);
    
    	for (i = 0; i < 2; i++) {
    		frame = gtk_frame_new("Foo");
    		gtk_container_set_border_width(GTK_CONTAINER(frame), 5);
    		gtk_box_pack_start(GTK_BOX(vbox), frame, FALSE, TRUE, 5);
    
    		box = gtk_vbox_new(FALSE, 5);
    		gtk_container_add(GTK_CONTAINER(frame), box);
    
    		buf = g_strdup_printf("Bar");
    		label = gtk_label_new(buf);
    		gtk_box_pack_start(GTK_BOX(box), label, TRUE, FALSE, 5);
    
    		btn = gtk_button_new_with_label("Button");
    		gtk_box_pack_start(GTK_BOX(box), btn, FALSE, FALSE, 5);
    	}
    
    	gtk_container_add(GTK_CONTAINER(window), vbox);
            gtk_widget_show_all(GTK_WIDGET(window));
    	
    	gtk_main();
    
    	return 0;
    }

  2. #2
    Registrierter Benutzer
    Registriert seit
    10.04.2001
    Ort
    Bremen
    Beiträge
    339
    Du möchtest die Buttons ja horizontal ausrichten also:
    Füge die Buttons einfach in eine GtkHBox, die in der GtkVBox liegt ein. Dann sind die Buttons links und auch vernünftig klein, vorausgesetzt der homogeneous-Parameter von der GtkHBox ist auf FALSE, sonst breiten sich die Buttons wieder aus...

    c ya,
    Tobias

  3. #3
    Registrierter Benutzer Avatar von Trillian
    Registriert seit
    26.04.2001
    Beiträge
    180
    Funktioniert einwandfrei, auch wenn es nicht so elegant aussieht

    Danke dir

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •