Форум сайта python.su
4kpt_VА по сути это одно и тоже или нет?
Ну вы же для рута применили super(), а тут нет. Почему?
def flags(self, index): if not index.isValid: return Qt.ItemIsEnabled return super(StringListModel, self).flags(index) | Qt.ItemIsEditable
Офлайн
Да. super это просто синтаксический сахар. Он указывает “взять у родителя” при этом можно самого родителя не указывать. Это дает возможность менять родителя без исправления внутреннего кода. Он просто будет брать родителя и все. Мало того, в 3.Х можно super вообще без аргументов для методов объекта. Для методов класса все же придется класс передавать…
P.S. super был одной из причин, почему я перешел с 2.5 на 2.7
Отредактировано 4kpt_V (Март 20, 2017 10:38:52)
Офлайн
Близко, но пока не совсем
super().__init__(self, root, *attr, **kwargs)
Отредактировано Feelgood (Март 20, 2017 19:52:52)
Офлайн
FeelgoodДумаю ничего не передается, об этом можно тут почитать. Тоже подожду ответа эксперта, особенно где это можно или нужно использовать.
*attr, **kwargs)
Офлайн
FeelgoodБлизко, но пока не совсемРазъясните эту конструкцию, в частности мне интересны что за параметры передаются в конструктор класса…super().__init__(self, root, *attr, **kwargs)
Что с ними, что без программа работает…
Офлайн