![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Necros |
![]()
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 6 Регистрация: 14.3.2012 Пользователь №: 3262 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Хочу сделать отдельный класс для работы с базой, но у меня возникает ошибка, если я в ui->tableView->setModel(); передаю модель созданную в другом классе. Если Создаю ее в этом же классе, то все работает хорошо, но хочется весь SQL утащить в отдельный класс и сделать методы для доступа к базе.
Фрагмент установки модели:
dao.h
dao.cpp
Ошибки:
Я пробовал уже и QAbstractItemModel Делать и создавать модель на месте и ей присваивать возвращаемую модель. Подскажите, пожалуйста в чем ошибка, уж больно не хочется страшный копипаст делать в каждом методе. |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Necros,
при выходе из void Settings::setModel() Ваша модель будет уничтожена, вместе с объектом dao. (если быть точным, то не будет уничтожена, но выпадет из поля видимости, и Вы сможете получить вылет программы в совсем неожиданном месте.) такого не должно произойти, т.к. модель, созданная динамически, будет себе жить поживать. А с помощью:ui->tableView->model() можно будет получить и указатель на неё. Однако, что верно, то верно: Цитата { объект dao использован только для получения модели, а нужен ли для этого целый класс?dao = DAO(); ui->tableView->setModel(dao.getModel()); } |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 18.2.2025, 8:36 |