У меня есть следующий код, который прекрасно работает, когда я просто запускаю файл двойным щелчком мыши. Однако, когда я конвертирую его в исполняемый файл с помощью Pyinstaller, он открывает несколько GUI windows для каждого процесса при нажатии кнопки в GUI.
from PyQt5 import uic, QtWidgets
from CurrentChains import processchain
import os
import sys
import threading
def alltask():
x = threading.Thread(target=processchain)
x.start()
if __name__ == '__main__':
y = os.getcwd()
app=QtWidgets.QApplication(sys.argv)
window = uic.loadUi(os.path.normpath(y)+ "\\" + "estate.ui")
window.pushButton.clicked.connect(alltask)
window.show()
sys.exit(app.exec_())
Функция processchain
выглядит следующим образом :
def processchain():
p=Pool(processes=15)
data=p.map(fetchdata,range(1,1000))
Как я могу предотвратить отображение нескольких GUI с исполняемым файлом? Не уверен, что это проблема с pyinstaller или просто мой код. Я использую многопоточность, чтобы предотвратить зависание интерфейса.