【发布时间】:2012-05-18 15:18:11
【问题描述】:
我在 qt/pyside 中开发桌面应用程序,用于多台计算机,它有一个通用数据库服务器。 我有两个问题:
-
问题 1:当用户打开小部件时,假设为 w1(例如小部件显示数据库中的城市列表)。 现在假设同一个用户打开新的小部件(w2)(添加/更新城市的小部件),现在如果他/她在数据库中添加新城市,那么如何在 w1 小部件中反映这种变化(即更新 w1 的内容)
问题 2:场景与问题 1 非常相似,唯一的区别是用户 1 有一个打开的小部件/选项卡 w1 显示城市列表。 另一台机器上的用户 2(但数据库相同)添加了新城市,然后如何更新或更改用户 1 的小部件(这里可能用户 1 正在处理 w1 小部件)
他们有什么方法可以使用一些常用功能来做到这一点吗?
我已经为问题 1 找到了 2 个解决方案:
定期检查数据库更改并更新小部件,但由于有多个小部件,这可能会导致应用程序变慢。
从 w1 和 w2 发射信号将有槽来接收信号,然后 w2 将被更新。
这两个问题还有其他解决方案吗?
【问题讨论】: