LINUX.ORG.RU

История изменений

Исправление Virtuos86, (текущая версия) :

def select(from_, where):
    op, some_obj = where
    return filter(lambda compared_obj: op(some_obj, compared_obj), from_)

class Poock(object):
    def __init__(self):
        self.buttons = []
        for i in range(1, 11):
            btn = Gtk.Button.new()
            self.buttons.append(btn)
            btn.set_label("test" + str(i))
            btn.connect('clicked', self.onclick)
            self.set_child(btn)

    def onclick(self, btn):
        btn.set_label("Эту кнопку нажали")
        import operator
        btns = select(from_=self.buttons, where=(operator.is_not, btn))
        for button in btns: button.set_label("А эти кнопки остались не нажаты")

Исходная версия Virtuos86, :


def select(from_, where):
    op, some_obj = where
    return filter(lambda compared_obj: op(some_obj, compared_obj), from_)

class Poock(object):
    def __init__(self):
        self.buttons = []
        for i in range(1, 11):
            btn = Gtk.Button.new()
            self.buttons.append(btn)
            btn.set_label("test" + str(i))
            btn.connect('clicked', self.onclick)
            self.set_child(btn)

    def onclick(self, btn):
        btn.set_label("Эту кнопку нажали")
        import operator
        btns = select(from_=self.buttons, where=(operator.is_not, btn))
        for button in btns: button.set_label("А эти кнопки остались не нажаты")