GtkWindow dziedziczy z GtkBin - czyli kontenera, który zawiera tylko jedno dziecko. Jeśli się chce wstawić więcej niż jedno, trzeba wstawić jakiś inny kontener, mogący pomieścić więcej niż jeden widget potomny. Poniżej można znaleźć listę dostępnych kontenerów:
http://www.kplug.org/glade_tutorial/gla ... #container
W razie potrzeby, do tego kontenera można wstawić dalsze kontenery. Najczęściej używa się GtkVBox, który umieszcza widgety jeden pod drugim (np. okno aplikacji, u góry menu, pod spodem toolbar, potem właściwa zawartość okna, na dole pasek stanu), GtkHBox - to samo tylko umieszcza potomków jeden obok drugiego (np. okno dialogowe: po lewej ikona (np. ostrzeżenia), po prawej wiadomość tekstowa), GtkTable, które rozmieszcza widgety w wierszach i kolumnach (np. okna ustawień - w lewej kolumnie etykiety, w prawej pola tekstowe).
Jakie są korzyści takiego rozwiązania? Nigdy nie zna się dokładnego rozmiaru widgetów - wielkość przycisku może być zależna od motywu, rozmiaru fontu, a także używanego języka (jedno słowo, którkie w języku angielskim, w niemieckim może mieć o wiele dłuższy odpowiednik). W przypadku ręcznego rozmieszczania widgetów, całość może się zupełnie rozjechać. Gtk natomiast sam rozmieści zawartość okna, tak żeby wszystko się mieściło.