qt 静态类成员回调函数 发送信号

mac2024-06-03  37

    使用第三方库,库提供接口,接口使用了自定义回调函数。

问题:

    1、回调函数频繁获得内容,如何获得内容及时处理。

    2、回调函数不能使用类成员,不能发信号。

解决方法:

.h class Widget : public QWidget { Q_OBJECT public: static Widget* s_this; //--------静态指针-------------------------- static void CALLBACK MessageCallback(LONG lCommand,char* palarminfo,DWORD dwbuflen,void* puser); //-------回调函数----------------------------- signals: void getNewMessag(QString); //-------信号----------------------------- }; .cpp Widget* Widget::s_this = nullptr; void Widget::MessageCallback(LONG lCommand,char* palarminfo,DWORD dwbuflen,void* puser) { emit s_this->getNewMessag("aaa"); //--第三步---在静态成员回调函数里发信号--------- } Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) { s_this=this; //--第一步---初始化时,把自己赋值给指针----------------- func(MessageCallback,NULL); //-第二步---第三方库调用此回调函数---- }

 

最新回复(0)