我创建了一个仅用于SQL数据库中bindValues
的对话框,
我可以成功地保存每一条新纪录。问题是我有另一个QSQlTableModel
对话框,它只显示数据库中的信息。每次我创建一个新记录时,我必须关闭该程序并再次运行它以查看ShowInformationDialog()
中的更改。
你知道某种方式我不需要关闭程序来更新ShowInformationDialog()
中的信息吗?
答案 0 :(得分:0)
您可以使用select()
类的QSqlTableModel
方法使用数据库中的数据重新填充模型。绑定视图会自动更新。我建议您将更新数据库中数据的位置(即更新SQL数据库的对话框)中的信号连接到ShowInformationDialog()
中调用select()
对象的QSqlTableModel
的自定义插槽。我假设您有一个QMainWindow
对象,它是两个对话的父对象,很可能是建立连接的最佳位置。
此外,由于您的ShowInformationDialog()
模型仅用于查看数据,请考虑使用QSqlQueryModel
。如果使用,则应使用setQuery()
方法而不是select()
,否则(信号与ShowInformationDialog()
的插槽连接)将是相同的。