Qt避免多次connect操作之后一个信号触发多个槽

偶尔会遇到一个对象的在某些情况下会被多次connect的情况,为了应对这个情况需要

在connect操作的时候加上flag:Qt::UniqueConnection

例如:

QObject a;
QObject b;

connect(&a, &QObject::signal, &b, &QObject::slot, Qt::UniqueConnection);
connect(&a, &QObject::signal, &b, &QObject::slot, Qt::UniqueConnection);

这样之后第二次connect将会失败,可以避免多次connect之后发送一个信号触发多个槽的情况。


版权声明:本文为r5014原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。