Какой ваш предпочтительный шаблон для использования Qt Model-View Architecture? - PullRequest
1 голос
/ 19 ноября 2010

как вы используете MV в Qt?Я попробовал эти два подхода:

  1. Если существует существующий / устаревший кодовый класс «данных», я использую модель в качестве фасада.Класс реализации модели получает ссылку на данные и вызывает его функции для вызовов доступа к элементу модели.

  2. Для новые реализации Я извлекаю класс данных из QAbstractModel.

Есть ли другой способ сделать это?

Ответы [ 2 ]

1 голос
/ 19 ноября 2010

Подход, который я в итоге выбрал, похож на тот, который вы предлагаете. В настоящее время я использую фасад для отображения между моей устаревшей моделью данных в QAbstractModel.

Сначала фасад был слишком сложным, но постепенно я вытаскиваю функциональность из модели фасада и помещаю ее в мою модель данных. И вот однажды я полностью уберу фасад, чтобы моя модель была моделью.

Наличие одной модели сделает мою голову менее болезненной.

0 голосов
/ 19 ноября 2010

MV-код в Qt немного запутан и кажется неудобным для реализации. Особенно, если вам нужно реализовать иерархические списки (древовидные представления).

В зависимости от ваших потребностей я обнаружил, что использование вспомогательных классов QListWidget, QTableWidget и QTreeWidget в некоторых случаях может быть гораздо менее болезненным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...