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

2024-06-23 19:27:57 发布

您现在位置:Python中文网/ 问答频道 /正文

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

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

帮点忙吗?在


Tags: 文件实例程序应用程序linuxwindows错误java
2条回答

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

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

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

希望有帮助。在

相关问题 更多 >

    热门问题