LINUX.ORG.RU

Проблема с Qt4 Model/View


0

0

Есть не реальные проблемы с Qt4 Model/View.

Описание программы: на диске храниться очень большой файл с записями, класс Data (потомок QabstractListModel) по мере необходимости считывает записи оттуда. Класс QListView непосредственно отображает их на экране.

Ниже представлена супер сверх сжатая версия программы: class Data: public QAbstractListModel {

Q_OBJECT

public:

Data (QObject *parent = 0): QAbstractListModel(parent) {}

int rowCount(const QModelIndex &parent = QModelIndex()) const;

QVariant data(const QModelIndex &index, int role = DisplayRole) const;

};

int Data::rowCount(const QModelIndex &parent) const {

Q_UNUSED(parent);

return 1000000;

} QVariant Data::data(const QModelIndex &index, int role) const {

return "aaa";

}

int main(int argc, char *argv[]) {

QApplication app(argc, argv);

QAbstractItemModel *model = new Data ();

QListView *view = new QlistView;

view->setModel(model);

view->show();

app.setMainWidget(view);

return app.exec();

}

Проблема заключается вся в том, что в приведенной выше программе, объект “view” пытается по очереди получить все элементы списка, т.к. этих элементов очень много система встает раком. Хотелось бы сделать так, что бы view получал только те элементы, которые сейчас отображаются на экране и “забывал” элементы, которые уже не отображаются. Как это сделать?

P.S. Qt 4.0.0-b1

anonymous

за этим следить должен ты зачем ты засовываешь столько данных

это же просто класс отрисовки

anonymous
()
Ответ на: комментарий от anonymous

Хто класс от рисовки???

QListView – да!

Data: public QabstractListModel – чисто хранилище данных!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.