gpt4 book ai didi

qt - 崩溃后如何重新启动qt应用程序?

转载 作者:行者123 更新时间:2023-12-04 13:08:13 24 4
gpt4 key购买 nike

是否可以在崩溃后重新启动 qt 应用程序?就像那些会自行重启的windows服务一样。如果是这样,我该怎么做?我试过这样的代码:

#define RESTART_CODE 1000
int main(int argc, char *argv[])
{
int return_from_event_loop_code;
QPointer<QApplication> app;
QPointer<MainWindow> main_window;
do
{
if(app) delete app;
if(main_window) delete main_window;

app = new QApplication(argc, argv);
main_window = new MainWindow(app);
return_from_event_loop_code = app->exec();
}
while(return_from_event_loop_code==RESTART_CODE)

return return_from_event_loop_code;
}

但是没有效果...我现在该怎么办?

最佳答案

创建另一个运行您的应用程序的 qt 应用程序。

#include <QApplication>
#include "QProcess"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QProcess aProcess;
QString exe = "Your process name with exact path";
QByteArray myOut;
while(1)
{
aProcess.start(exe);
//aProcess.waitForStarted();
//myOut = aProcess.readAllStandardOutput();
//printf("%s",myOut.constData());
aProcess.waitForFinished(-1);

//QString output(aProcess.readAllStandardOutput());

myOut = aProcess.readAllStandardOutput();
printf("%s",myOut.constData());
}
return a.exec();
}

此程序会在您的应用程序崩溃或关闭时重新启动

关于qt - 崩溃后如何重新启动qt应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30489644/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com