当前位置:网站首页>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,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~
边栏推荐
猜你喜欢

达梦更换正式授权dm.key

34、树莓派进行人体姿态检测并进行语音播报

找出相同属性值的对象 累加数量 汇总

Find objects with the same property value Cumulative number Summarize

Multi-threaded cases - blocking queue

蔚来又一新品牌披露:产品价格低于20万

嵌入式开发:创建和使用可移植类型的7个技巧

ECCV22|只能11%的参数就能优于Swin,微软提出快速预训练蒸馏方法TinyViT

论文笔记All about Eve: Execute-Verify Replication for Multi-Core Servers

如何使用 Authing 单点登录,集成 Discourse 论坛?
随机推荐
bat countdown code
如何使用OpenCV测量图像中物体之间的距离
34、树莓派进行人体姿态检测并进行语音播报
CloudCompare & PCL ICP registration (point to face)
How to integrate 3rd party service center registration into Istio?
SQL function SQRT
如何降低Istio服务网格中Envoy的内存开销
程序员的浪漫七夕
数据挖掘-03
[Unity3D Plugin] AVPro Video Plugin Share "Video Player Plugin"
Istio投入生产的障碍以及如何解决这些问题
VINS-mono 论文解读:IMU预积分+Marg边缘化
将同级数据处理成树形数据
Fault 007: The dexp derivative is inexplicably interrupted
硬链接、软连接浅析
Programmer's self-cultivation
软件设计师考点汇总(室内设计师个人总结)
NebulaGraph v3.2.0 性能报告
leetcode:1201. 丑数 III【二分 + 数学 + 容斥原理】
达梦更换正式授权dm.key