有时候需要处理一些跟界面无关的但非常耗时的事情,这些事情跟界面在同一个线程中,由于时间太长,导致界面无法响应,处于“假死”状态.例如:在应用程序中保存文件到硬盘上,从开始保存直到文件保存完毕,程序不响应用户的任何操作,窗口也不会重新绘制,从而处于“无法响应”状态,这是一个非常糟糕的体验 . 在这种情况下,有一种方法是使用多线程,即在子线程中处理文件保存,主线程负责界面相关. 而如果不想使用多线程,最简单的办法就是在文件保存过程中频繁调用QApplication::processEvents().…