我正在从一个非Qt线程中调用emit signal1()
。
所谓的非Qt线程是指不来自GUI事件循环,也不来自任何QThread的run()方法或任何QThread自己的事件循环。
这只是一个调用QObject方法并发出信号的pthread(pthread_create())。
例如:
MyQbject: public QObject
{
...
void emitBunchOfSignals()
{
emit signal1();
emit signal2();
...
}
...
}
我的pthread的"run"方法有一个指向MyObject实例的指针(该实例是在主Qt GUI线程上下文中创建而不是pthread内部),调用emitBunchOfSignals()
方法。
在Qt 4.5之前,这很恶心。现在,Qt 4.5是否处理了这个问题?它是否调用qApp->PostEvent()
或其他类似方法以便在Qt GUI线程中发出信号(因此也会触发槽)?
谢谢