【发布时间】:2013-12-26 04:27:54
【问题描述】:
这是我的场景:我有一个 dll(在后端使用 Qt,并且没有启动事件循环)。我能够在这个 dll 中执行信号槽通信(只有一个线程)。我想在这个 dll 中使用 QFileSystemWatcher 的功能。但看起来,QFileSystemWatcher 启动了自己的线程,由于没有事件进程,它无法与我的主线程通信。
所以,基本上我需要一种方法来启动事件处理而不被阻塞!
【问题讨论】:
-
您到底想用 QFileSystemWatcher 实现什么?此外,没有“Qt 事件过程”。您可能正在寻找
QEventLoop。无论如何,它都会阻塞,但根据具体的用例,它可能是红鲱鱼。 -
是的,它是主事件循环。当特定文件发生任何更改时,我想使用 QFileSystemWatcher 工具进行更新。我可以用它来重新读取文件。
-
好吧,我的 dll 被用作 API,这意味着我不想阻塞,而且每件事都在一个线程上。这就是它没有创建事件循环的原因。
标签: c++ multithreading qt qtcore qeventloop