我需要知道我的函数在哪个线程的上下文中运行,是主 GUI 线程还是某个工作线程。
我无法使用简单的解决方案将 QThread 指针存储在主函数中并将其与 QThread::currentThread() 进行比较,因为我正在编写一个库并且无权访问主函数。我当然可以创建 InitMyLibary() 函数并要求库用户在 GUI 线程的上下文中调用它,但我really反对这一点。
如果库中有 Qt,您可以询问应用程序对象的线程。应用程序对象始终存在于主 GUI 线程中。
void fooWorker()
{
const bool isGuiThread =
QThread::currentThread() == QCoreApplication::instance()->thread();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)