C++ 将QTableView模型传递给另一个线程并使用它进行操作

C++ 将QTableView模型传递给另一个线程并使用它进行操作,c++,multithreading,qt,model,C++,Multithreading,Qt,Model,我被困在一个学习项目中。 我已经对QObject进行了子类化,并设置了一个信号来处理qabstractemmodel派生对象。 我看到好像我“接收”了从GUI线程传入的信号中的对象,并且qDebug-ing它显示它拥有相同的地址,但是,当我试图通过分离线程中的setData修改其中的数据时,程序崩溃 如何从另一个线程“修改”此QTableView模型? 或者我应该在线程中创建一个新模型并将其传递回GUI线程?(这可能吗,如果可能,怎么可能?发布一些示例代码可能会有所帮助。您不能从非GUI线程使用

我被困在一个学习项目中。 我已经对
QObject
进行了子类化,并设置了一个信号来处理
qabstractemmodel
派生对象。 我看到好像我“接收”了从GUI线程传入的信号中的对象,并且
qDebug
-ing它显示它拥有相同的地址,但是,当我试图通过分离线程中的
setData
修改其中的数据时,程序崩溃

如何从另一个线程“修改”此
QTableView
模型?
或者我应该在线程中创建一个新模型并将其传递回GUI线程?(这可能吗,如果可能,怎么可能?

发布一些示例代码可能会有所帮助。您不能从非GUI线程使用setData。您可以(例如)从非GUI线程发出带有新数据的信号,并将其连接到GUI线程中模型中的插槽。@Fabio可能是对的。@Fabio为什么不?我在哪里可以找到这个限制?推荐阅读有关Qt线程和一般问题的书籍:发布一些示例代码可能会有所帮助。您不能从非GUI线程使用setData。您可以(例如)从非GUI线程发出带有新数据的信号,并将其连接到GUI线程中模型中的插槽。@Fabio可能是对的。@Fabio为什么不?我在哪里可以找到该限制?推荐阅读有关Qt线程和一般问题的书籍: