Обновление QSQLTableModel в переполнении стека Qt

Я создал один диалог, который используется только для bindValues в базе данных SQL,
и я могу успешно сохранить каждую новую запись. Проблема в том, что у меня есть еще один диалог с QSQlTableModel это показывает только информацию из базы данных. Каждый раз, когда я делаю новую запись, я должен закрыть программу и запустить ее снова, чтобы увидеть изменения в ShowInformationDialog(),
Знаете ли вы какой-нибудь способ, чтобы мне не нужно было закрывать программу, чтобы обновить информацию в моем ShowInformationDialog()?

0

Решение

Ты можешь использовать select() метод QSqlTableModel Класс для пополнения модели данными из базы данных. Связанные виды обновляются автоматически. Я предлагаю подключить сигнал от того места, где вы обновляете данные в базе данных (т.е. ваш диалог обновляет базу данных SQL), к пользовательскому слоту в вашем ShowInformationDialog() что вызывает select() из QSqlTableModel объект. Я полагаю, у вас есть QMainWindow объект, который является родителем обоих диалогов, что, скорее всего, будет лучшим местом для установления соединения.

Кроме того, так как ваш ShowInformationDialog()Модель используется только для просмотра данных. QSqlQueryModel, Если это используется, то setQuery() метод должен быть использован вместо select() но в противном случае (подключение сигнала к ShowInformationDialog()это слот) было бы тоже самое.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]