首页| 论坛| 消息

标题:全局函数调用ui控件提示“ui”: 未声明的标识符
作者:hahaxiao1
日期:2019-06-20 11:54
内容:

在mainwindow.cpp里创建了一个线程CreateThread, 线程调用队列获取数据, 在调用的最后一个解析函数里调用ui->tableWidget->setItem(0,0,new QTableWidgetItem(""));报“ui”: 未声明的标识符。
解析函数是全局函数, 没有类, 在linklist.cpp文件里。
在网上搜了一下问题, 没找到有效的答案, 请各位帮忙, 能不能用connectc把数据传到mainwindow.cpp里


#1 [hahaxiao1 06-20 12:05]
搞错思路了, 直接在mainwindow.cpp里直接取数据就行了, 不知道这样行不行
#2 [hahaxiao1 06-20 16:56]
线程是static的,线程里不能调用类成员,将this指针作为参数传递也不行, 启动就挂了,那位老大帮忙给个demo, 十分感谢
#3 [20091001753 06-21 10:52]
你要注意,UI的操作,只能在主线程,不能在其他的线程,否则会出现问题。
所以应该是,你新建的线程只处理数据,完成后发送信号,通知主线程来把数据写入UI里。
#4 [hahaxiao1 06-21 14:26]
是的, 没加信号的时候报错, 加了connect(this, SIGNAL(pthreadSingnalData(QString)), this, SLOT(pthreadSlotData(QString)));正常了,

回复 发表
主题 版块