当前位置:网站首页>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,以上便是本文的全部内容了,如果对你有所帮助,记得点个赞哟~
边栏推荐
- SQL function SQRT
- LeetCode_动态规划_中等_377.组合总和 Ⅳ
- leetcode:1201. 丑数 III【二分 + 数学 + 容斥原理】
- 易周金融分析 | 银行ATM机智能化改造提速;互联网贷款新规带来挑战
- 为什么最大值加一等于最小值
- 华盛顿大学、Allen AI 等联合 | RealTime QA: What's the Answer Right Now?(实时 QA:现在的答案是什么?)
- [Cloud Enjoying Freshness] Community Weekly Vol.73- DTSE Tech Talk: 1 hour in-depth interpretation of SaaS application system design
- MMF的初步介绍:一个规范化的视觉-语言多模态任务框架
- 10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
- 数据挖掘-03
猜你喜欢
8. How does the SAP ABAP OData service support the Create operation
安全又省钱,“15岁”老小区用上管道燃气
bpmn-process-designer基础上进行自定义样式(工具、元素、菜单)
通讯录(静态版)(C语言)(VS)
重磅消息 | Authing 实现与西门子低代码平台的集成
Multi-threaded cases - blocking queue
全链路灰度在数据库上我们是怎么做的?
消息中间件解析 | 如何正确理解软件应用系统中关于系统通信的那些事?
Alibaba Cloud Official Redis Development Specification
Batch replace tables in Word with pictures and save
随机推荐
一文带你彻底厘清 Kubernetes 中的证书工作机制
重磅消息 | Authing 实现与西门子低代码平台的集成
Batch replace tables in Word with pictures and save
NebulaGraph v3.2.0 Performance Report
How to get the address of WeChat video account (link address of WeChat public account)
What Can Service Mesh Learn from SDN?
芝加哥丰田技术学院 | Leveraging Natural Supervision for Language Representation Learning and Generation(利用自然监督进行语言表示学习和生成)
批量替换Word中的表格为图片并保存
Programmer's Romantic Tanabata
深入解析volatile关键字
10年稳定性保障经验总结,故障复盘要回答哪三大关键问题?|TakinTalks大咖分享
如何设计一个分布式 ID 发号器?
VINS-mono 论文解读:IMU预积分+Marg边缘化
How to integrate 3rd party service center registration into Istio?
什么是一致性哈希?可以应用在哪些场景?
Multithreading Case - Timer
50W+小程序开发者背后的数据库降本增效实践
一文带你彻底厘清 Isito 中的证书工作机制
动态库、静态库浅析
初级必备:单例模式的7个问题