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