在实际项目中我们可能经常会需要让同一个应用程序仅运行一个实例,不同的语言和平台实现的方式有所差异。
下面我们主要探讨一下在PyQt中如何实现,也即是在Qt中如何实现。
上网查阅了一下相关资料,主要有两种方式:
1) 共享内存 QSharedMemory
参考地址:http://www.cnblogs.com/davesla/archive/2011/01/17/1937731.html
不过网上有人说,使用共享内存,如果程序crash掉之后,将无法再次启动运行。个人认为加上try catch并且在finally里面进行适当处理应该可以避免改问题,不过未实践过。
2) QtSingleApplication
参考地址: