QT关于回调函数

阅读 77

2022-08-17


.h文件

#ifndef CALLBACK_H
#define CALLBACK_H

typedef void (* Callback )( void *n_obj, void *user_data );//callback

struct Timer
{
void *user_data;
void *user_obj;
Callback n_cb;
};
class callbacks
{
public:
callbacks();
void add(Callback,void *,void*);
void action();
private:
Timer a;
};

#endif // CALLBACK_H


.cpp文件
#include "callback.h"

callbacks::callbacks()
{



}

void callbacks::add(Callback p, void * par1, void *par2)
{


a.user_data=par1;a.user_obj=par2;a.n_cb=p;
}


void callbacks::action()
{


(*a.n_cb )(a.user_data, a.user_obj );
}

main.cpp文件

#include "callback.h"

void UserCallback( void *obj, void *pa )
{
printf(" UserCallback:: ( obj = 0x%x ) T_ID=%u\n");
}
int main(int argc, char *argv[])
{
callbacks w;
w.add(UserCallback,( void *)22,( void *)33);
w.action();




精彩评论(0)

0 0 举报