在嵌入式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();
qApp
->exit(QtQuitFlag
);
}
2、进程处理
#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
;
}