PyQt5 配置单实例运行,详情配置如下:
1. 创建测试窗体
#-*- coding:utf-8 -*-
from PyQt5.QtWidgets import QMainWindow, QApplication
from Asimplewindow import Ui_MainWindow
import sys
class Main(QMainWindow,Ui_MainWindow):
def __init__(self):
super(Main, self).__init__()
self.setupUi(self)
if __name__ =="__main__":
app = QApplication(sys.argv)
main = Main()
main.show()
sys.exit(app.exec_())
2. 设置窗口监听
改造上方程序的 name ==“main” 方法
if __name__ =="__main__":
try:
app = QApplication(sys.argv)
serverName = 'AppServer'
socket = QLocalSocket()
socket.connectToServer(serverName)
# 判定应用服务是否正常链接,如正常则证明程序实例已经在运行
if socket.waitForConnected(500):
app.quit()
# 如果没有实例运行,则创建应用服务器并监听服务
else:
localServer = QLocalServer()
localServer.listen(serverName)
# 原始处理逻辑
main = Main()
main.show()
sys.exit(app.exec_())
except Exception as e:
print(‘程序启动异常:{}’.format(e))
以上为PyQt5配置单实例运行的全部内容,如有问题,请在下方留言。