I recently added two different vboxes, and got a warning, making me think you can't add more than 1 vbox to the programs?
#include <gtk/gtk.h>

int main(int argc, char * argv[])
  GtkWidget *window;
  GtkWidget *vbox;
  GtkWidget *mainVbox;
  GtkWidget *menuBar;
  GtkWidget *fileMenu;
  GtkWidget *file;
  GtkWidget *Quit;
  gtk_init(&argc, &argv);
  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title(GTK_WINDOW(window), "Text Editor");
  gtk_window_set_default_size(GTK_WINDOW(window), 1000, 600);
  gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
  vbox = gtk_vbox_new(FALSE, 0);
  gtk_container_add(GTK_CONTAINER(window), vbox);
  menuBar = gtk_menu_bar_new();
  fileMenu = gtk_menu_new();
  file = gtk_menu_item_new_with_label("File");
  Quit = gtk_menu_item_new_with_label("Quit");
  gtk_menu_item_set_submenu(GTK_MENU_ITEM(file), fileMenu);
  gtk_menu_shell_append(GTK_MENU_SHELL(fileMenu), Quit);
  gtk_menu_shell_append(GTK_MENU_SHELL(menuBar), file);
  gtk_box_pack_start(GTK_BOX(vbox), menuBar, FALSE, FALSE, 3);

  mainVbox = gtk_vbox_new(FALSE, 0);
  gtk_container_add(GTK_CONTAINER(window), mainVbox);

  g_signal_connect(G_OBJECT(Quit), "activate", G_CALLBACK(gtk_main_quit), NULL);
  g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);
  return 0;
warning when using ./Program1:
Gtk-WARNING **: Attempting to add a widget with type GtkVBox to a GtkWindow, but as a GtkBin subclass a GtkWindow can only contain one widget at a time; it already contains a widget of type GtkVBox