1.)我想重新启动我的QT4应用程序。只是正常的关闭和启动相同的应用程序。
2.)为什么?我需要一个选项来“重置”所有的东西。重启应用程序似乎是最简单的方法。问题是,有很多类和所有的东西。我没有时间把他们的每一个设置回到标准,每个textBox,窗口小部件清除…我知道重启应用程序不是最好的方法,你认为还有其他方法吗?
谢谢
发布于 2011-10-31 04:12:02
要重新启动应用程序,您可以在退出进程后使用startDetached:
#include <QApplication>
#include <QProcess>
...
// restart the app:
qApp->quit();
QProcess::startDetached(qApp->arguments()[0], qApp->arguments());发布于 2011-02-26 23:14:05
1)您可以运行脚本,安排操作系统稍后启动您的应用程序。
2)编写一个包含所有应用程序设置的单独类。需要时重置。
发布于 2011-02-26 23:21:00
有趣的请求。只需为“重新启动”保留一个退出代码,并执行类似于(未测试)的操作:
int main(int argc, char **argv)
{
QApplication app(argc, argv);
...
int ret = app.exec();
if (ret == EXIT_RESTART) {
::execve(...);
}
return ret;
}然后你就可以在任何地方调用QApplication::exit(EXIT_RESTART),你就应该准备好了。或者使用包装器脚本来做同样的事情。(请确保在这两种情况下,如果应用程序采用任何参数,都能令人满意地处理命令行参数。)
更干净的方法是将所有需要重置的东西连接到相同的信号。
https://stackoverflow.com/questions/5127600
复制相似问题