PySide2 ошибка Process finished with exit code -1073740791 (0xC0000409) при использовании QThreading
При использовании QThread в PySide2, программа работает корректно, ничего не вылетает, но по завершении работы вот такой код Process finished with exit code -1073740791 (0xC0000409).
UI описан в отдельном модуле, сюда не прикрепляю. Кратко по структуре использования потоков в программе:
# Класс функционала, чей экземпляр будет помещен в поток из основного.
from PySide2.QtCore import QObject, Signal, Slot
from time import sleep
class BGListening(QObject):
send_text_signal = Signal(str)
def __init__(self):
super().__init__()
self.user_text = ''
self.assistant_text = 'привет'
self.listening = True
@Slot(str)
def run(self):
self.send_text_signal.emit(self.assistant_text)
while True:
print('listening...')
sleep(2)
while not self.listening:
print('sleeping')
sleep(2)
# Создание потока в основном классе
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
QtWidgets.QMainWindow.__init__(self)
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
# THREADS
self.thread_bg = QtCore.QThread()
self.BGListening_obj = BGListening()
self.BGListening_obj.send_text_signal.connect(self.add_message)
self.thread_bg.started.connect(self.BGListening_obj.run)
self.BGListening_obj.moveToThread(self.thread_bg)
self.thread_bg.start()
# Функция add_message() в главном классе, используемая для коннекта.
def add_message(self, text, user_sent=False):
if user_sent:
self.BGListening_obj.user_text = text
elif not user_sent:
self.BGListening_obj.assistant_text = text
В чем проблема? Почитал в интернете, упоминают ошибку винды с переполненным буфером. Хотел бы услышать описание решения данной проблемы из уст сведущего человека.