设置单应用模式简单的说就是你点击快捷方式如果在事先已经打开过一次,那你再点击一次快捷方式会弹出之前打开的应用。
这个问题我搜了好久,只是解决widgets下的应用重复打开的问题,然而我的项目是用qml写的,于是我又去研究源码,既然他能两个应用直接通信,是不是能给它改成qml的,我试了下,研究了好久,结果功夫不负有心人我成功了。
具体操作如下
将网上下载的qtsingleapplication文件夹放到项目源码根目录
在.pro文件中引入
在 main.cpp文件中加入如下图所示,原来的应用要改成单个应用的类
设置活动窗口 改成qml引擎
接下来开始改源码了
首先改qtsingleapplication.cpp这个文件中这个activateWindow方法,上图 右边是想要打开的页面,然后与这相关QWidget都改成QQmlApplicationEngine 直接搜索替换就行;
用我给的文件的话 直接改自己项目目录的内容就行;
觉得好的话可以给个赞赏: