(一)以前使用过回调函数的数据都定义了全局变量,将回调函数的返回结果赋予该全局变量,并及时刷新该全局变量。 这样可以实现功能,但方法不太好。
(二)今天,使用类的静态函数作为回调函数。 具体方法如下。
(1)在头文件中定义类
classcarddatadispose : publicqobject
{
Q_OBJECT
公共:
staticvoidcallback(intdevice,int msg,int param1,void *param2); //回调函数
voiddata(qstringcardid,QString cardAnswer );
(;
)2)在引用回调类的源文件中设置回调函数。
TB _ setcallbackaddr (carddatadispose : callback;
(3) CardDataDispose回调函数原型
voidcarddatadispose : callback (int device,int msg,int param1,void *param2) ) ) ) ) ) ) )。
{
CardDataDispose *a;
a-data (1,2 );
}
voidcarddatadispose :3360数据(qstring cardid,QString cardAnswer ) )。
{
引用回调函数的类
UBBoardController *b;
B-receivecarddata(cardid,cardAnswer );
}
(3)通过以上操作,可以将回调函数封装在一个类中,在收到数据后立即调用receiveCardData ) )传输数据。 不需要打开计时器进行刷新。
标签: CardDataDispose、函数、静态、void、int、QString、回调、QT
资料来源: https://blog.csdn.net/QQ _ 14874791/article/details/106347382