欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > Qt:子线程在程序退出时的操作

Qt:子线程在程序退出时的操作

2025/1/7 8:57:59 来源:https://blog.csdn.net/weiweiqiao/article/details/144936372  浏览:    关键词:Qt:子线程在程序退出时的操作

在Qt中可以使用线程指针对子线程进行操作。子线程可以使用使用基本指针,shared_ptr,两种指针进行操作(QSharedPointer指针操作有问题还未解决,先不讲)。

// c++标准库
shared_ptr<QThread> thread_;// 基本指针
QThread* thread_;// Qt智能指针。
// QSharedPointer<QThread> thread_;

绑定信号槽,智能指针调用方法get获取基本指针。

connect(exit_action_,&QAction::triggered,handler_.get(),&Main_window_handler::signal_exit_application);

启动子线程:

	    // c++标准智能指针。thread_ = make_shared<QThread>();handler_ = make_shared<Main_window_handler>();
//		handler_->moveToThread(thread_.get());
//		thread_->start();// 基本指针。thread_ = new QThread();handler_->moveToThread(thread_);thread_->start();

在析构方法中释放子线程资源:

		// 基本指针资源释放。if (nullptr != thread_) {thread_->quit();thread_->wait();delete thread_;thread_ = nullptr;}// 释放c++标准智能指针shared_ptr。
//		while (thread_->isRunning()) {
//			thread_->quit();
//			thread_->wait();
//		}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com