У меня есть таблица. Класс Table
, унаследованый от QTableWidget
и есть база данных. При открытии приложения нужно выгружать таблицу из БД и передавать данные в таблицу.
QSqlTableModel* model = new QSqlTableModel(nullptr, db);
//================
void DataBase::initializeTheTable(QTableView *view) // Table
{
model->setTable("main");
model->select()
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
view->setModel(model);
}
//================
mainTable = new Table;
database->initializeTheTable(dataTable);
При открытии приложения данные выгружаются в таблицу, но при использовании любого метода или при любом событии(например нажатии на ячейку таблицы) программа падает, в дебаге просто указывает на вызов метода.
Где я не прав и как это можно сделать правильно?
Возможно, неправильно осуществляется управление временем жизни model.
Я бы сделал так:
void DataBase::initializeTheTable(QTableView *view) // Table
{
QSqlTableModel* model = new QSqlTableModel(view, db);
model->setTable("main");
model->select()
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
view->setModel(model);
}
Тогда model точно не будет удалена раньше, чем перестанет быть нужной для view.
Сложно что-то еще сказать по предоставленной информации.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, возникла проблема при подключении полосы прокрутки к окнуВ общем в окне рисуется график, при этом координаты смещаются с помощью...
При компиляции под win64 все работает корректноПри компиляции под Android вылетает ошибка:
Доброго времени сутокКак мне удалить MySQL полностью? При запуске Installer'a появляется такое окно:
Понадобилось написать SQL запрос на выбор случайной записи, не долго думая открыл документацию MySQL, почитал про рандом и получилось вот это