gpt4 book ai didi

multithreading - 从非 UI QThread 修改 QStandardItemModel?

转载 作者:行者123 更新时间:2023-12-03 12:53:06 24 4
gpt4 key购买 nike

我有绑定(bind) QStandardItemModel 的 Qt4 应用程序到QListView并从后台/非 UI 线程更新模型。

有时,当 QStandardItemsetText(..)方法从非 UI 线程重复调用,应用程序将在 la dataChanged(..) 处理程序处崩溃。我可以通过调用 setText("xxxxx") 重现此问题在 for 循环中重复。在我的应用程序中,数据是从网络读取的,因此我在单独的非 UI 线程中更新模型。

这是普通的pb吗?如果我理解正确,这与排队连接和 QStandardItemModel 有关。不是线程安全的吗?如何解决这个问题?

谢谢!

最佳答案

QStandardItemModel是 QtGui 库的一部分,iirc 中的所有类都被认为不是线程安全的。如果您将数据的实际设置移动到 GUI 线程中,您应该没问题。通过使用来自网络线程的排队信号,您可以很容易地做到这一点。

关于multithreading - 从非 UI QThread 修改 QStandardItemModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4416706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com