【发布时间】:2017-04-29 00:37:37
【问题描述】:
应用程序:目标应用程序有一个 tcp 服务器,能够处理与机器人的多个连接。 我选择使用数据库/无文件,所以我使用 sqlite db 来保存有关机器人及其完整历史记录、机器人模型、任务等的信息...... 机器人会向我们发送一些数据,例如里程计、任务信息等......
我为每个新机器人的连接创建一个线程来处理消息并更新数据库中机器人的信息。现在让我们开始谈谈我的问题:
应用程序必须实时显示有关机器人的信息,我正在考虑使用 QSqlQueryModel,设置正确的查询并将其显示在 QTableView 上,但后来我想到了一些问题/解决方案:
问题1: QTableView 上显示的信息不在数据库中:我有数据库的当前消耗和数据库的实际费用容量,但我想要还要在我的桌子上显示剩余电池时间,我如何在我的 TableView 中添加具有正确行为(数学实现)的列。
问题 2: 我将每秒收到每个机器人的消息,因此,当我有一个大问题时,更新 db 和 gui(加载查询)可能不是最好的解决方案连接的机器人数量?更新表是否更好,并且每分钟只更新数据库或类似的东西?如果我使用这种方法,我无法使用带有 QSqlQueryModel 的表来更新表,那么您推荐我使用什么方法?
谢谢 桑切斯
【问题讨论】:
-
您能告诉我们到目前为止您尝试了哪些代码,以便我们为您修复它吗?
-
我已经完成了服务器模块、连接线程、数据库设置和一些窗口,但我才刚刚开始设计如何在 GUI 上实现表行为,我不知道我该怎么办...
标签: multithreading qt qthread qlistview qsqltablemodel