Как QAbstractItemView узнает о моих пользовательских ролях при отправке dataChanged() без ролей?
После получения сигнала QAbstractItemModel::dataChanged() подключенные QAbstractItemViews вызовут метод QAbstractItemModel::data() для обновления своих данных. Определяемый пользователем метод data () должен предоставлять различную информацию, основанную как на предопределенных ролях, таких как Qt::DisplayRole, так и на любом количестве пользовательских ролей, которые должны иметь значения, эквивалентные Qt:: UserRole и выше.
Имея это в виду, документация Qt относительно сигнала QAbstractItemModel::dataChanged() гласит:
Необязательный аргумент ролей можно использовать, чтобы указать, какие роли данных были фактически изменены. Пустой вектор в аргументе ролей означает, что все роли должны считаться измененными. Порядок элементов в аргументе ролей не имеет никакого отношения.
http://doc.qt.io/qt-5/qabstractitemmodel.html
В свете этого, как QAbstractItemView может вызывать все мои пользовательские роли, когда я вызываю dataChanged с пустым вектором ролей? Или это относится только к предопределенным ролям Qt?