При создании подкласса QtCore.QAbstractTableModel
мой редактор предложил переопределить этот символ.
def data(cls, self, QModelIndex, role=Qt.DisplayRole):
return super().data(self, QModelIndex, role=role)
Метод data()
никогда не будет методом класса, он всегда является методом экземпляра.Я знаю о соглашении использовать cls
вместо из self
, когда метод аннотируется @classmethod
, но я не совсем понимаю, почему сигнатуры из PyQt5 используют оба.Насколько я знаю, Python будет заполнять только первое, и тогда cls
будет тем, чего я ожидал бы self
.Тогда self
будет нормальным аргументом в этот момент.
Что я неправильно понимаю?Какими должны быть мои символы при переопределении методов?