使用网络服务异步填充 qabstractitemmodel

Fill qabstractitemmodel asynchronously using network service

我需要将客户端计算机上的 QAbstractItemModel 连接到服务器计算机上的数据。我已经有一个不错的 class 可以通过网络异步处理数据 requests/responses(来自另一个项目),它会在数据到达时发出信号。

我只是想弄清楚如何允许 QAbstractItemModel 方法(如数据和 rowCount)异步运行。我可以覆盖这些方法并插入一个在数据到达时退出的事件循环,但感觉不对。

我确定我曾经在网上看到过这样的例子,但找不到了。有人可以提供或指出实现此目标的方法吗?

根据我在网上找到的信息,您不应使用事件循环使 QAIM 在其任何方法中等待。

相反,return 一个带有选项 'datavalid' 标志的立即值,视图应该使用它来 present/hide 输出。然后从远程模型请求数据,并在收到后发出数据更改信号,以便视图更新屏幕上的数据。