第三章:嵌入式QT--自重启

本文介绍如何在嵌入式QT中实现应用程序的自重启功能。通过使用startDetached()函数并结合特定标志,文章详细说明了从触发自重启到实际启动新进程的完整流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在嵌入式QT 里面,有时候需要自重启QT进程,这时候就需要用到startDetached()函数。
该函数的主要作用是:Starts the program program with the arguments arguments in a new process, and detaches from it。

实现完美的自重启需要以下步骤:
1、触发

#define QtQuitFlag 90
void messageSlot(){
	qApp->closeAllWindows();//Closes all top-level windows
	qApp->exit(QtQuitFlag);//Tells the application to exit with a return code
}

2、进程处理

//*******main.cpp*******//
#define QtQuitFlag 90
void main()
{
QApplication a(argc, argv);
int ret_val;
ret_val=a.exec();
if (ret_val == QtQuitFlag) 
{
	....//注销相关

	QStringList args;
	args.append("-qws");
	QProcess::startDetached(qApp->applicationFilePath(), args);
	return ret_val;
}
return ret_val;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值