我需要知道我的函数在哪个线程中运行,是主GUI线程还是某个工作线程。
我不能使用简单的解决方案,在主函数中存储QThread指针并将其与QThread::currentThread()进行比较,因为我正在编写一个库,我没有访问主函数的权限。当然,我可以创建InitMyLibary()函数并要求库用户在GUI线程的上下文中调用它,但我真的反对这种方式。
我需要知道我的函数在哪个线程中运行,是主GUI线程还是某个工作线程。
我不能使用简单的解决方案,在主函数中存储QThread指针并将其与QThread::currentThread()进行比较,因为我正在编写一个库,我没有访问主函数的权限。当然,我可以创建InitMyLibary()函数并要求库用户在GUI线程的上下文中调用它,但我真的反对这种方式。
void fooWorker()
{
const bool isGuiThread =
QThread::currentThread() == QCoreApplication::instance()->thread();
}