C++ (Qt)QPointer<QObject> theAnimObj = 0; // объект что сейчас крутит анимацию void SomeObject::SlotAnimate1( void ){// если др анимация сейчас активна - даем ей выйти if (theAnimObj && (theAnimObj != this)) { theAnimObj = 0; emit SignalAnimate1(); // этот сигнал должен быть с QueuedConnection return; } // устанавливаем theAnimObj на себя theAnimObj = this; // на каждой итерации проверяем отмену for (int i = 0; i < numFrames; ++i) { qApp->processEvents(); if (theAnimObject != this) break; ... // показываем кадр анимации } // обнуляем theAnimObj theAnimObj = 0;}