项目经理对软件提出了新的需求,要求一个机器只能同时存在一个软件实例,即同一时刻,一台电脑只能启动一个软件,在已经启动的情况下,若用户再次启动软件,则不能启动,原本是采用一种方法解决来着,方法见上一篇文章:https://blog.csdn.net/weixin_40425059/article/details/103426990
该方法确实能在软件启动时检测到是否已经有软件实例在运行,我的做法是,检测到已经有实例在运行则弹出提示信息,已经有软件在运行,毕竟,如果直接返回,连个提示信息都没有,用户还以为你的软件死了,不能用呢,但是随之而来的问题就是,如下图:
在软件实例在运行的过程中,不断双击可执行程序,会不断地弹出提示信息,着实不太友好。所以新的需求就来了,当有实例在运行的时候,不是弹出提示信息,而是直接将已经在运行的实例界面置顶显示。
解决方法就用到了QtSingleApplication类,使用方法如下:
- 下载QtSingleApplication工程文件,链接:https://pan.baidu.com/s/1BdDIuPEWCKRhHw-GHGMg5Q
提取码:tcu5 - 将下载的工程解压,拷贝qtsingleapplication文件夹到使工程根路径
- 在.pro工程文件中添加 include(./qtsingleapplication/qtsinglecoreapplication.pri) <