当前位置:网站首页>Qt实战案例(56)——利用QProcess实现应用程序重启功能
Qt实战案例(56)——利用QProcess实现应用程序重启功能
2022-08-01 12:49:00 【wendy_ya】
一、项目介绍
本文介绍利用QProcess实现应用程序重启功能。实现应用程序重启功能在Qt中实现非常简单,需要用到QProcess类一个静态方法:bool startDetached(const QString &program, const QStringList &arguments);
二、项目基本配置
新建一个Qt案例,项目名称为“RestartTest”,基类选择“QWidget”,点击选中创建UI界面复选框,完成项目创建。
三、UI界面设置
UI界面如下:
| 序号 | 名称 | 类型 | 属性 |
|---|---|---|---|
| ① | pbn_restart | QPushButton | text:Restart |
四、主程序实现
4.1 widget.h头文件
声明头文件:
private slots:
void on_pbn_restart_clicked();
定义RETCODE_RESTART:
// define a retcode: 773 = 'r'+'e'+'s'+'t'+'a'+'r'+'t' = restart
static const int RETCODE_RESTART = 773;
4.2 widget.cpp源文件
定义按钮点击槽函数:
//应用程序重启
void Widget::on_pbn_restart_clicked()
{
qApp->exit(RETCODE_RESTART);
}
4.3 main.cpp源文件
在main函数中判断退出码是否为“RETCODE_RESTART”,来决定是否重启:
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
//return a.exec();
int e = a.exec();
if(e == RETCODE_RESTART)
{
// 传入 qApp->applicationFilePath(),启动自己
QProcess::startDetached(qApp->applicationFilePath(), QStringList());
return 0;
}
return e;
}
五、效果演示
完整效果如下:
如果没有看懂的话,完整代码可以参考:https://download.csdn.net/download/didi_ya/86268703
ok,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~
边栏推荐
- 嵌入式开发:创建和使用可移植类型的7个技巧
- 多线程案例——定时器
- CloudCompare&PCL ICP配准(点到面)
- R language fitting ARIMA model: use the auto.arima function in the forecast package to automatically search for the best parameter combination, model order (p, d, q), set the seasonal parameter to spe
- 如何将第三方服务中心注册集成到 Istio ?
- leetcode: 1201. Ugly Number III [Dichotomy + Mathematics + Inclusion and Exclusion Principle]
- 将同级数据处理成树形数据
- 如何使用OpenCV测量图像中物体之间的距离
- 透过开发抽奖小程序,体会创新与迭代
- Towhee 每周模型
猜你喜欢
随机推荐
如何设计一个分布式 ID 发号器?
How does the SAP ABAP OData service support the Create operation trial version
AI目标分割能力,无需绿幕即可实现快速视频抠图
SQL函数 %SQLUPPER
数字证书原理
将同级数据处理成树形数据
通讯录(静态版)(C语言)(VS)
人像分割技术解析与应用
Six Stones Programming: Problems must be faced, methods must be skillful, and functions that cannot be done well must be solved
uniapp读取和写入文件
Data Mining-04
高仿项目协作工具【Worktile】,从零带你一步步实现组织架构、网盘、消息、项目、审批等功能
快速幂---学习笔记
Fault 007: The dexp derivative is inexplicably interrupted
Towhee 每周模型
程序员的浪漫七夕
快速理解拉格朗日乘子法
多线程案例——阻塞式队列
SQL函数 %SQLSTRING
Istio投入生产的障碍以及如何解决这些问题








