[Interest] Help, I'm in QML signal hell

Jason H jhihn at gmx.com
Fri Nov 1 17:42:16 CET 2019

I am using signals/slots in QML and the signal emissions are getting inverted.

Here's my example:
bool Socket::emitSignalForOp(const QByteArray &) "STF10" 10
bool Socket::emitSignalForOp(const QByteArray &) "PSF09" 11

STF10 necessarily comes after PSF09. In wall-clock time it does. But Qt is not getting the order right. The number above is the signal emission number, so it's not a display issue.

Why can't Qt process these emit events in the right order? How can I work around this? Since this isn QML, I don't think I can use Queued connections, which usually fixes the problem. I tried using the QML state machine and it had the same problem.

More information about the Interest mailing list