查看完整版本: [-- 全局函数调用ui控件提示“ui”: 未声明的标识符 --]

QTCN开发网 -> Qt嵌入式开发 -> 全局函数调用ui控件提示“ui”: 未声明的标识符 [打印本页] 登录 -> 注册 -> 回复主题 -> 发表主题

hahaxiao1 2019-06-20 11:54

全局函数调用ui控件提示“ui”: 未声明的标识符

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

hahaxiao1 2019-06-20 12:05
搞错思路了, 直接在mainwindow.cpp里直接取数据就行了, 不知道这样行不行

hahaxiao1 2019-06-20 16:56
线程是static的,线程里不能调用类成员,将this指针作为参数传递也不行, 启动就挂了,那位老大帮忙给个demo, 十分感谢

20091001753 2019-06-21 10:52
你要注意,UI的操作,只能在主线程,不能在其他的线程,否则会出现问题。
所以应该是,你新建的线程只处理数据,完成后发送信号,通知主线程来把数据写入UI里。

hahaxiao1 2019-06-21 14:26
是的, 没加信号的时候报错, 加了connect(this, SIGNAL(pthreadSingnalData(QString)), this, SLOT(pthreadSlotData(QString)));正常了,


查看完整版本: [-- 全局函数调用ui控件提示“ui”: 未声明的标识符 --] [-- top --]



Powered by phpwind v8.7 Code ©2003-2011 phpwind
Gzip disabled