在不断执行:
void MyTool::DeleteAllFiles()
{
        for (i = 0; i <= n - 1; i++) {
            // do something
        }
}
在for循环没有执行完毕的情况下,外部给这个类发信号,根本接受不到信号。就非得这样写:
void MyTool::DeleteAllFiles()
{
        for (i = 0; i <= n - 1; i++) {
            QApplication::processEvents();
            // do something
        }
}
或者:
void MyTool::DeleteAllFiles()
{
        QEventLoop loop;
        for (i = 0; i <= n - 1; i++) {
            loop.processEvents();
            // do something
        }
}
这样才能保证队列信号可以被及时收到并触发槽函数。但是如此熟悉的风格,我只能怀疑信号槽的本质就是Windows消息机制了。。。。。。。。
http://www.qtcn.org/bbs/read-htm-tid-62003-ds-1-page-1.html
原文:http://www.cnblogs.com/findumars/p/5924508.html