def run(self): Gdk.threads_init() self.window = window = Gtk.Window(title="Control Panel") window.connect("delete-event", Gtk.main_quit) self.box = Gtk.Box(orientation=HORIZONTAL) self.columns = { "misc": Gtk.Box(orientation=VERTICAL), "joints": Gtk.Box(orientation=VERTICAL), "lights": Gtk.Box(orientation=VERTICAL), "materials": Gtk.Box(orientation=VERTICAL), } for name in ("misc", "joints", "lights", "materials"): frame = Gtk.Frame(label=name.capitalize()) frame.add(self.columns[name]) column = Gtk.ScrolledWindow() column.add(frame) self.box.pack_start(column, True, True, 5) window.add(self.box) window.show_all() Gtk.main() Gdk.threads_quit()