Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
[SOLVED] QProcess hell
dword last edited by
I'm trying to have something like this:
- a REST service is handling requests in a thread per request
- a Process Pool Manager (QObject child class) is responsible for starting processes, and storing processes output of finite kind of processes.
- Request Handlers may use the Process Pool Manager (via queued signals) to start a process and get the process output.
- To avoid the super nerves killing:
@"QObject: Cannot create children for a parent that is in a different thread"@
the Process Pool Manager is started in his own thread, processes are started only from this thread.
At this point I've got this killing message #2 when trying to connect signals emitted from my QProcess(es) to my Process Pool Manager slots:
@Warning: QObject::connect: Cannot queue arguments of type 'QProcess::ProcessError'@
Ok, so I've try to add
in my Process Pool Manager Class declaration, but still have the message...
Thank you for your help.
andre last edited by
You should read the QMetaType documentation...
lgeyer last edited by
[quote author="dword" date="1315839798"]At this point I've got this killing message #2 when trying to connect signals emitted from my QProcess(es) to my Process Pool Manager slots:[/quote]
You most probably got this message:
QObject::connect: Cannot queue arguments of type 'QProcess::ProcessError'
(Make sure 'QProcess::ProcessError' is registered using qRegisterMetaType().)
dword last edited by
Thank you very much Lukas it worked just fine.
@Andre: I did search and those are the first lines from my Qt documentation:
bq. Registers the type name typeName for the type T. Returns the internal ID used by QMetaType. Any class or struct that has a public default constructor, a public copy constructor and a public destructor can be registered.
So I don't see how, based on that, I can guess that it allows me to register an enum from another class. But maybe it's just my understanding...