I have a Qt application that was developed using Qt Creator and the GUI tool that accompanies it. I have a main thread, TheGui
and a worker thread that is created b
Sure that connection is actually made? If there are any problems with connect call, there is usually some debugging output about it on cerr
.
Secondly, I think you have a typo - if you copied connect call from your code, then know that you have parenthesis missing around SIGNAL - should be
connect(&thread, SIGNAL(sendList(string)), this, SLOT(updateTable(string)));
Thirdly, what is that you are passing as signal/slot parameter? Is it std::string? Connections between threads must be queued connections. Queued connections can use as parameters only types declared with Q_DECLARE_METATYPE macro, and registered with qRegisterMetaType. As far as I know, Qt by default doesn't declare those for std::string
, as it prefers QString
. If you didn't add those to your code, it might be the reason for failure.