2016-08-06 29 views
0

Ich habe einen sehr einfachen Code, der ein GtkWindow erstellt und darin einen GtkButton legt.GTK3 Set GtkButton Größe

window = gtk_window_new(GTK_WINDOW_TOPLEVEL); 

gtk_widget_set_size_request(_window, 800, 450); 
gtk_window_set_decorated(GTK_WINDOW (_window), FALSE); 
gtk_window_set_position(GTK_WINDOW (_window),GTK_WIN_POS_CENTER_ALWAYS); 
gtk_window_set_resizable(GTK_WINDOW (_window), FALSE); 

_startbutton = gtk_button_new_with_label("myLabel"); 
gtk_container_add(GTK_CONTAINER(_window), _startbutton); 

gtk_widget_show_all(_window); 

Dies funktioniert jedoch nicht wie erwartet, da die Schaltfläche das gesamte Fenster füllt. Ich habe versucht, einen Weg zu finden, um die Größe der Schaltfläche zu ändern, aber alle Methoden, die ich gefunden habe, verwenden einige Methoden, die veraltet sind ... Kann mir jemand den Weg erklären, dies zu tun?

Antwort

2

Da der GtkButton das einzige Steuerelement im GtkWindow ist, wird ihm die gesamte Fläche des GtkWindow zum Ausfüllen gegeben. Wenn Sie etwas komplizierteres tun möchten, müssen Sie Layout-Container wie GtkBox und GtkGrid verwenden, um die Schaltfläche explizit auszugeben, normalerweise in Bezug auf andere Steuerelemente, die Sie auch in dem Fenster haben werden.

Sobald Sie Ihre Steuerelemente ausgelegt haben, können Sie expansion and alignment verwenden, um zu steuern, wie die Schaltfläche den zugewiesenen Speicherplatz verwendet.

+0

Vielen Dank für Ihre Antwort! –