在mainwindow里面调用动态库,动态库有一个回调函数,就是动态库收到
数据以后通过回调函数把数据传给我,这个回调函数要怎么调用mainwindow里面的函数,让回调函数一接收到数据,我就可以立刻处理?
- void __stdcall display(char *msg, int len)
- {
- int i;
- QString str;
- str="";
- for(i =0; i<len; ++i)
- {
- QByteArray ba;
- ba.resize(len);
- ba[i]=msg[i];
- str=str+QString::number(ba[i], 16).toUpper()+" ";
- }
- //ui->TextEdit->setText(str);
- //QMessageBox msgBox;
- //msgBox.setText(str);
- //msgBox.exec();
- return;
- }
加入
ui->TextEdit->setText(str); 这句时 报错:
错误:'ui' was not declared in this scope加入msbBox这3行时候,可以
编译通过,但是运行时
出错,ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel\qwidget.cpp, line 1264,上网搜了一下,好像是说 所有关于UI的操作必须在主线程进行,我对这方面不太懂
请问该怎么做才能调用mainwindow里面的函数?谢谢!