Qt - QListView моих собственных пользовательских объектов - PullRequest
2 голосов
/ 01 февраля 2012

Я пишу приложение для отслеживания различной информации, возвращаемой массивом датчиков.

Проще говоря, у меня есть класс для датчика (в дальнейшем называемый «Класс датчика»), и у меня есть класс модели, который поддерживает QList этого класса датчиков.

Этот QList создается на лету классом модели - когда он получает данные от датчика, которого еще нет в QList, он создает новый экземпляр класса Sensor и добавляет его в QList.

Теперь я хочу отобразить этот список, используя QListView, на мой взгляд. На самом деле я только начинаю разбираться с материалом Model / View в Qt, и я не уверен, что делать дальше.

Нужно ли подклассировать мой класс модели как QAbstractListModel, а затем его можно установить как модель для QListView?

У кого-нибудь есть хорошие примеры или указатели на то, как построить мою модель?

1 Ответ

2 голосов
/ 01 февраля 2012

Уже есть некоторые реализованные модели для базовых структур данных, такие как QStringListModel, но если вы хотите получить полный контроль над вашими данными, такими как редактирование и отображение, вам необходимо добавить подкласс QAbstractListModel.Вы можете следовать документации , чтобы узнать, какие методы необходимо реализовать при создании подклассов.Затем вы просто передаете свою модель в QListView, чтобы показать ее.

Предоставленная ссылка также содержит фрагмент кода возможной реализации QAbstractListModel для использования с QTreeView.

...