Привет.
Захотел создать кастомный виджет содержащий другие виджеты. При этом не хочу наследоваться от Gtk.Grid или Gtk.Box поскольку не желаю иметь возможность изменять новый виджет. Решил поэкспериментировать с Gtk.Bin
from gi.repository import Gtk
class CustomBin(Gtk.Bin):
    __gtype_name__ = "CustomBin"
    def __init__(self):
        super(self.__class__, self).__init__()
        self.__child = Gtk.Button.new_with_label("FFFFFFUUU!!!1111one")
        self.__child.show()
        super(self.__class__, self).add(self.__child)
    def add(self, widget):
        pass
    def get_child(self):
        return self.__child
def main():
    win = Gtk.Window(Gtk.WindowType.TOPLEVEL)
    win.set_title("CustomBin")
    win.connect("destroy", lambda win: Gtk.main_quit())
    cbin = CustomBin()
    win.add(cbin)
    win.show_all()
    return Gtk.main()
if __name__ == '__main__':
    main()
