|
Имеется экземпляр QListView, к которому "подключен" класс на базе QAbstractListModel, обеспечивающий данные. Все работает. Но возникла необходимость отобразить в QListView строки, которых нет в модели, и добавлять которые в модель не хотелось бы. С этой целью был разработан класс на базе QSortFilterProxyModel, в котором переопределены методы rowCount() и data(). rowCount() возвращает число строк заведомо большее, чем в оригинальной модели, а метод data() должен поставлять данные для этих "лишних" строк. Проблема в том, что data() вызывается только с индексом для строк из оригинальной модели. Т. е. если в оригинальной модели 8 строк, а мой rowCount() возвращает 10, то при циклическом вызове из QListView моего data() значение Index.row() изменяется от 0 до 7, а не до 9, как хотелось бы. Иными словами, значение, возвращаемое из моего rowCount(), по сути, игнорируется. Хотелось бы знать, что здесь не так, и как с этим бороться.
|