Qt单一实例进程——使用qtsingleapplication

来源:互联网 发布:截动态图软件 编辑:程序博客网 时间:2024/05/15 00:23

用Qt发布的应用,每双击一次,都会打开一个软件,这可能会导致一些不良影响,比如:临界资源的访问。

所以,我们希望无论双击多少次这个应用,都只会打开一个软件。

这就需要使用qtsingleapplication。

用法很简单,只要把src的代码添加到工程就可以使用了。

但是qtsingleapplication默认使用Widget。

对于Widget的应用,可以直接支持。

对于Qml的应用是不能直接支持的。所以,需要修改qtsingleapplication的源代码。

如下图所示。

在qtsingleapplication.h文件中,注释掉widget相关的代码,并添加QGuiApplication头文件。



在qtsingleapplication.cpp,要注释掉上图对应的类、信号、槽。再把QtSingleApplication类改为继承QGuiApplication类。这里不一一截图。

最后在main.cpp中,使用QtSingleApplication,如下图所示。



原创粉丝点击