Loading

限制pyqt5应用程序 只允许打开一次

起因

pyqt5程序创建桌面快捷方式后,多次单击图标 会打开多个UI界面,这种情况肯定是不允许的!

解决

if __name__ == '__main__':
    try:
        app = QtWidgets.QApplication(sys.argv)
        serverName = 'testServer'
        socket = QLocalSocket()
        socket.connectToServer(serverName)
        # 如果连接成功,表明server已经存在,当前已有实例在运行
        if socket.waitForConnected(500):
            app.quit()
        else:
            localServer = QLocalServer()  # 没有实例运行,创建服务器
            localServer.listen(serverName)
            # 处理其他
            mainWindow = MainWindous()
            mainWindow.show()
            sys.exit(app.exec_())
    except:
        pass

参考:
https://blog.csdn.net/zhuoyue008/article/details/82775592

posted @ 2021-01-13 17:18  Unixcs  阅读(1090)  评论(0编辑  收藏  举报