Я хочу создать программное обеспечение, которое будет просматривать некоторые таблицы базы данных, и пользователи смогут редактировать эти таблицы. Прочитав эту ссылку, я подумал, что model/view был хорошим подходом к тому, что мне нужно. Посмотрите на следующий макет:
Зная это, у меня есть вопросы, чтобы убедиться, что я понимаю концепцию. Пожалуйста, скажите мне, если я в хорошем направлении:
Думаю, мне нужно создать класс модели для каждой из моих таблиц? (подкласс QAbstractModel). Это будет выглядеть так:
class citiesTableModel : public QAbstractItemModel { Q_OBJECT }
Конструктор cityTableModel будет извлекать данные из таблицы в базе данных?
QAbstractItemModel *model = new citiesTableModel(); //model will contain 2 rows, New York and Seattle
Нужно ли создавать подклассы QTableView для каждой модели?
class citiesTableView : public QTableView{}
- Наконец, я предполагаю, что нужно переопределить view.setData и view.setModel? setModel будет перебирать каждую строку модели для построения QTableView, а setData будет выполнять правильный запрос для добавления новых данных в модель?
Большое Вам спасибо.