首页| 论坛| 消息

标题:在多线程中QTreeView怎么添加节点?
作者:c698592
日期:2019-02-16 18:30
内容:

在工作线程中用这种方式添加节点,可以正常添加,但是由于节点数较多,容易卡死。
QStandardItem* itemProject = new QStandardItem("节点名");
Public::model_TreeFile->appendRow(itemProject);
===================================================
所以想用下面的方式,但输出的b为false,QTreeView中也没有节点增加。困扰我一天了,请知道的朋友帮我下 
QStandardItem* itemProject = new QStandardItem("节点名");
bool b=QMetaObject::invokeMethod(Public::model_TreeFile, "appendRow", Qt::AutoConnection, Q_ARG(QStandardItem*,itemProject));
qDebug()


#1 [songhuirong1 02-17 21:10]
将Qt::AutoConnection改成Qt::QueuedConnection即可
#2 [c698592 02-18 10:46]
试过了不行的
#3 [liudianwu 02-18 11:11]
只能在主线程中使用控件。
#4 [yanche 02-18 12:20]
转换下思路就可以了,实现的方式方法很多,Qt本身就可以实现
#5 [c698592 02-18 16:58]
在主线程中使用控件添加大量节点时窗口会卡死,所以想通过线程解决。

<< 1 2 >> (1/2)

回复 发表
主题 版块