首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >只允许pyqt4应用程序的一个实例

只允许pyqt4应用程序的一个实例
EN

Stack Overflow用户
提问于 2015-03-11 00:22:49
回答 2查看 2.8K关注 0票数 1

我已经创建了一个pyqt4应用程序,我想让它运行,所以只允许运行一个实例( QApplication)。

程序读取和写入音频文件,如果运行的实例超过一个,Windows (linux很好)抛出两个程序试图访问相同文件的错误。我看到了很多java和C应用程序,如果程序已经在运行,它们将显示一个简单的对话框,我只想知道如何在pyqt4中这样做。

帮个忙?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-11 04:23:05

这种编程模式被称为“单例”实例或“单例应用程序”。

通常,它是通过全局互斥或在程序生命早期锁定文件来完成的。当程序启动时,如果文件句柄已经锁定,则退出。

Qt解决方案在这里有:http://doc.qt.digia.com/solutions/4/qtsingleapplication/qtsingleapplication.html

https://qt.gitorious.org/qt-solutions/qt-solutions/source/841982ceec9d30a7ab7324979a0fd5c9c36fd121:qtsingleapplication

要让这些全局互斥/锁在pyqt中工作,可能需要做一些工作,因为据我所知,pyqt中还没有qt解决方案。

下面是一个使用跨平台python脚本的替代方案:

Python: single instance of program

希望这能有所帮助。

票数 2
EN

Stack Overflow用户

发布于 2015-03-11 15:55:03

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28976484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档