最近在写一个客户端和服务端的程序(rest-rpc)。在服务端注册了一个函数A,在客户端就可以直接调用这个函数A。这个函数A,是利用QProcess,启动一个录屏功能(利用ffmpeg)并转换成mp4。
但是问题在于,仅仅在服务端运行这个函数A:
connect(f_process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(f_convert()));
这个信号槽能够成功的执行
但是如果通过客服端来调用服务端的这个函数A:
connect(f_process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(f_convert()));
那么不能接收到finished信号,就无法执行f_convert()这个函数。控制台显示:QWinEventNotifier: Can only be used with threads started with QThread。
考虑过线程问题,在connect后面加上了, Qt::DirectConnection。但是依旧不行。请问各位前辈改怎么解决呢?感激不尽!
但是问题在于,仅仅在服务端运行这个函数A:
connect(f_process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(f_convert()));
这个信号槽能够成功的执行
但是如果通过客服端来调用服务端的这个函数A:
connect(f_process, SIGNAL(finished(int, QProcess::ExitStatus)), SLOT(f_convert()));
那么不能接收到finished信号,就无法执行f_convert()这个函数。控制台显示:QWinEventNotifier: Can only be used with threads started with QThread。
考虑过线程问题,在connect后面加上了, Qt::DirectConnection。但是依旧不行。请问各位前辈改怎么解决呢?感激不尽!