在Qt中,可以使用QThread类来创建一个子线程。要在自定义子线程中运行事件循环,可以在run()函数中调用QEventLoop的exec()函数。
下面是一个简单的示例代码:
class MyThread : public QThread
{
public:
void run()
{
QEventLoop loop;
connect(this, SIGNAL(finished()), &loop, SLOT(quit()));
loop.exec();
}
};
在这个示例中,我们重写了QThread的run()函数,并且在其中创建了一个QEventLoop对象。然后,我们将当前线程的finished()信号连接到事件循环的quit()槽上,以便当线程完成时退出事件循环。
现在,当您启动MyThread时,它将一直运行事件循环,直到该线程结束或调用了quit()函数为止。