речь идёт о чём-то вроде
update();
QTimer::singleShot(0, this, SLOT(update()));
и singleShot - это единичный вызов, а не цикличный.
также весьма полезно использовать такой вызов для слотов с проверками. например:
bool SomeClass::isEnabled() const
{
return m_enabled;
}
void SomeClass::setEnabled(bool b = true)
{
if(m_enabled == b)
return;
m_enabled = b;
//длительная операция обновления
}
bool b = isEnabled(); // `b` сейчас установлен true
setEnabled(true); // ничего не произойдёт, т.к. `m_enabled == b`
но нам
нужно чтобы выполнилась `длительная операция обновления`
bool b = isEnabled(); // `b` сейчас установлен true (или в false - нам уже необязательно это знать)
QTimer::singleShot(0, this, SLOT(setEnabled()));
setEnabled(false);
ну, вот примрено так )