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

В чем проблема? Почитал в интернете, упоминают ошибку винды с переполненным буфером. Хотел бы услышать описание решения данной проблемы из уст сведущего человека.


Ответы (0 шт):