0

我创建了一个仅用于bindValuesSQL 数据库的对话框,并且可以成功保存每条新记录。问题是我有另一个对话框QSQlTableModel,它只显示数据库中的信息。每次创建新记录时,我都必须关闭程序并再次运行它以查看ShowInformationDialog(). 你知道某种方式,这样我就不需要关闭程序来更新我的信息ShowInformationDialog()吗?

4

1 回答 1

0

您可以使用类的select()方法QSqlTableModel用数据库中的数据重新填充模型。绑定视图会自动更新。我建议将来自您更新数据库中数据的任何位置的信号(即更新 SQL 数据库的对话框)连接到ShowInformationDialog()调用对象的select()自定义插槽QSqlTableModel。我假设您有一个QMainWindow对象是两个对话的父对象,这很可能是建立连接的最佳位置。

此外,由于您ShowInformationDialog()的模型仅用于查看数据,请考虑使用QSqlQueryModel. 如果使用该setQuery()方法,则应使用方法代替,select()否则(将信号连接到ShowInformationDialog()的插槽)将是相同的。

于 2013-10-29T05:42:35.670 回答