【发布时间】:2021-07-28 01:31:30
【问题描述】:
我的主要应用程序类是USB_Packet_Analyzer,它处理一些文件,但也支持从某人仍在写入的文件中读取。在这种情况下,我有一个无限循环来检查该文件中是否写入了新内容,如果是,我继续处理。在循环的每次迭代中,我都调用QCoreApplication::processEvents();。
问题是当我关闭应用程序的主窗口时,它不会停止应用程序。如果我检查QApplication::topLevelWidgets().size(),它仍然是1,而QApplication::topLevelWidgets().at(0)->isVisible() 是假的。为什么它不关闭我的窗口?我可以连接一些信号来检测窗口上的红十字是否被点击?我知道当进入这种循环时,我可能会使用QThread,但我不想参与其中。我的问题有什么解决办法吗?
【问题讨论】:
标签: c++ qt infinite-loop