QApplication::processEvents()的循环调用问题
在Qt程序的信号槽(事件处理)函数中调用QApplication::processEvents()时需特别注意,因为这可能导致对当前信号槽函数的无限循环调用,尤其是重负载的情况。
可以考虑引入一个IsRunning变量,避免槽函数的循环调用:
bool IsRunning = false; void SignalSlot(){ if (IsRunning) { return; } else{ IsRunning=true; } //Handle event IsRunning=false; return; }
参考资料库:https://forum.qt.io/topic/22434/issue-with-qapplication-processevents
页面版本: 3, 最后编辑于: 25 Apr 2022 06:01