在 Qt 中,可以使用 QThreadwait() 函数来等待 QThread 对象的退出。wait() 函数会将当前线程阻塞,直到 QThread 对象执行完毕。

示例代码如下:

QThread* thread = new QThread();
// 将需要执行的任务放入线程中
MyObject* object = new MyObject();
object->moveToThread(thread);

// 启动线程
thread->start();

// ... 其他操作

// 等待线程退出
thread->wait();

// 清理资源
delete object;
delete thread;

在上述代码中,首先创建了一个 QThread 对象,并将需要执行的任务对象 (MyObject) 移动到线程中。然后,通过调用线程的 start() 函数启动线程。

在需要等待线程退出的地方,调用线程的 wait() 函数。该函数会阻塞当前线程,直到线程执行完毕。

最后,清理资源,删除任务对象和线程对象。

需要注意的是,wait() 函数在等待线程退出时会阻塞当前线程,因此建议在主线程中调用该函数,避免阻塞 GUI 线程或其他重要线程。

Qt 线程等待退出:使用 QThread::wait() 函数

原文地址: https://www.cveoy.top/t/topic/bqcA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录